Skip to main content

PHP Integration

Using cURL or Guzzle.

<?php

function validateEmail($email, $apiKey) {
$url = "https://api.checkemail.dev/validate?email=" . urlencode($email);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"x-api-key: $apiKey"
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode === 200) {
$data = json_decode($response, true);
$confidence = $data['confidence'];
$validations = $data['validations'];

if ($confidence['status'] === 'DISPOSABLE' || $validations['is_disposable']) {
return ["valid" => false, "reason" => "disposable"];
}

if ($confidence['alias_status'] === 'ALIAS_CONFIRMED') {
// Handle canonical email for deduplication
$canonical = $confidence['canonical_email'];
}

return ["valid" => ($confidence['status'] === 'LIKELY'), "data" => $data];
}

return ["valid" => false, "reason" => "api_error"];
}

// Usage
$res = validateEmail("[email protected]", "ce_d_...");
if ($res['valid']) {
echo "Email is good to go!";
}
?>