[API-Verification] Single Email Validation
Parameter | Type | Description |
---|---|---|
api | string | Your application API key at BulkMail. |
string | The email address you want to verify. |
Each response includes an email validation response. Moreover, the remaining balance on your BulkMail Account is included to let you know how many calls you can perform before your credits end.
Test the response
A valid API Key is required for testing and you are able to test all types of emails.
{module 259}
Important Note
If you are going to use this API within a sign-up form, you must consider Deliverable, Accept-all and Unknown statuses as valid, so you do not miss out on any sign-ups. Another simple way to do this is by checking the send_transactional parameter. If its value is 1, the email is eligible for being a new user.
Sample Response
HTTP/1.1 200 OK
{
"bulkmailverify":{
"email":"This email address is being protected from spambots. You need JavaScript enabled to view it. ",
"code":"5",
"role":"false",
"free_email":"true",
"result":"Safe to Send",
"reason":"Deliverable",
"send_transactional":"1",
"did_you_mean":""
},
"success":"1",
}
Parameters
email [email] - The email address you are requesting to validate.
code [Integer] - BulkMail validation response code. In order to understand BulkMail results and codes, visit this link.
role [true, false] - Is the email role-based or not. Role emails such as "sales@", "webmaster@" etc. are not suitable for sending marketing emails to.
free_email [true, false] - Is the email from a free email provider - like Gmail - or not.
result [Invalid, Risky, Safe to Send, Unknown] - The final result of the validation process. This response will help to determine whether you should send marketing emails to a recipient or not.
reason The reason why the result is given (view full reasons via this link).
send_transactional [0, 1] Is it suggested that you send transactional emails to the recipient or not (0: no, 1: yes). Generally, it is suggested to send transactional emails to Valid, Accept-all and Unknown emails.
did_you_mean [string] If you use a misspelled email address like
success [0, 1] Is your call successful or not (0: no, 1: yes). If your credits are zero or you have provided an invalid API key, you will receive a 0 response.
Example code
Javascript
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.bulkmailapp.co.za/?api=&email=",
"method": "GET",
"headers": {}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.bulkmailapp.co.za/?api=&email=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Java
HttpResponse response = Unirest.get("https://api.bulkmailapp.co.za/?api=&email=")
.asString();
Python
import http.client
conn = http.client.HTTPSConnection("api.bulkmailapp.co.za")
conn.request("GET", "/?api=&email=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Ruby
require 'uri'
require 'net/http'
url = URI("https://api.bulkmailapp.co.za/?api=&email=")
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)
response = http.request(request)
puts response.read_body
C#
var client = new RestClient("https://api.bulkmailapp.co.za/?api=&email=");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Swift
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "https://api.bulkmailapp.co.za/?api=&email=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()