Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Check your email list with the email validation service from mailboxlayer
ini_set('memory_limit', '2048M'); // if your list is very long
$api_key = 'PLACE HERE YOUR API';
$fp = fopen('emailchecked.csv', 'w');
fputcsv($fp, array('Email address', 'Valid MX', 'Valid SMTP', 'Score'));
$count = 0;
if (($handle = fopen("emaillist.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$ch = curl_init(''.$api_key.'&email='.$data[0]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json = curl_exec($ch);
$validationResult = json_decode($json, true);
$row = array($data[0], $validationResult['mx_found'], $validationResult['smtp_check'], $validationResult['score']);
fputcsv($fp, $row);
if ($count % 4 == 1) sleep(1); // Don't reach the 300 requests/minute rate limit
Copy link

Your "basic" email list needs only a single column for the email addresses.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment