How to validate email addresses in Go

Our free API to validate e-mail addresses is really easy to use in Golang

 

Verify e-mail in Go


package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://mailcheck.p.rapidapi.com/?domain=EMAIL-OR-DOMAIN"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-rapidapi-host", "mailcheck.p.rapidapi.com")
	req.Header.Add("x-rapidapi-key", "YOUR-API-KEY")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
                

 

This will return a JSON-array with information about the domain, and if you should block it or not.

 

You can of course just send it as a regular GET-request to that URL also, in your favorite way, as long as you have the API-key in the header.

You will receive a JSON response, telling you if this is a disposable e-mail to block, or if there are other issues with the domain:

 


{
    "valid": true,
    "block": true,
    "disposable": false,
    "domain": "cbaccounts.com",
    "text": "Suspicious e-mail",
    "reason": "Heuristics (4a)",
    "risk": 91,
    "mx_host": "cbaccounts.com",
    "mx_info": "Using MX pointer cbaccounts.com from DNS with priority: 0",
    "mx_ip": "209.99.64.43",
    "last_changed_at": "2020-06-11T09:56:02+02:00"
}
               

 

This will tell you if you should block the domain cbaccounts.com or not, and the reason to why the API thinks so (disposable e-mail, etc). You can also see more detailed documentation of the response here.

To get started for free, and get an API key, click here!