Our free API to validate e-mail addresses is really easy to use in Ruby.
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://mailcheck.p.rapidapi.com/?disable_test_connection=true&domain=EMAIL-OR-DOMAIN")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["x-rapidapi-host"] = 'mailcheck.p.rapidapi.com'
request["x-rapidapi-key"] = 'YOUR-API-KEY'
response = http.request(request)
puts response.read_body
This will return a JSON-array with information about the domain, and if you should block it or not.
response = Unirest.get "https://mailcheck.p.rapidapi.com/?disable_test_connection=true&domain=EMAIL-OR-DOMAIN",
headers:{
"X-RapidAPI-Host" => "mailcheck.p.rapidapi.com",
"X-RapidAPI-Key" => "YOUR-API-KEY"
}
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": true,
"domain": "averdov.com",
"text": "Disposable e-mail",
"reason": "Heuristics (2a)",
"risk": 91,
"mx_host": "mail57.averdov.com",
"mx_info": "Using MX pointer mail57.averdov.com from DNS with priority: 10",
"mx_ip": "109.236.80.110",
"last_changed_at": "2020-06-11T09:56:02+02:00"
}
This will tell you if you should block the domain averdov.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!