1. Go to this page and download the library: Download nickdnk/zerobounce-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
nickdnk / zerobounce-php example snippets
use nickdnk\ZeroBounce\Email;
use nickdnk\ZeroBounce\Result;
use nickdnk\ZeroBounce\ZeroBounce;
// You can modify the timeout using the second parameter. Default is 15.
// You an also pass proxy options to Guzzle using the third parameter.
// See https://docs.guzzlephp.org/en/stable/request-options.html#proxy for details.
$handler = new ZeroBounce('my_api_key', 30, ['https' => 'https://my-proxy-server']);
$email = new Email(
// The email address you want to check
'[email protected]',
// and if you have it, the IP address - otherwise null or omitted
'123.123.123.123'
);
try {
// Validate the email
$result = $handler->validateEmail($email);
if ($result->getStatus() === Result::STATUS_VALID) {
// All good
if ($result->isFreeEmail()) {
// Email address is free, such as @gmail.com, @hotmail.com.
}
/**
* The user object contains metadata about the email address
* supplied by ZeroBounce. All of these may be null or empty
* strings, so remember to check for that.
*/
$user = $result->getUser();
$user->getCountry();
$user->getRegion();
$user->getZipCode();
$user->getCity();
$user->getGender();
$user->getFirstName();
$user->getLastName();
} else if ($result->getStatus() === Result::STATUS_DO_NOT_MAIL) {
// The substatus code will help you determine the exact issue:
switch ($result->getSubStatus()) {
case Result::SUBSTATUS_DISPOSABLE:
case Result::SUBSTATUS_TOXIC:
// Toxic or disposable.
break;
case Result::SUBSTATUS_ROLE_BASED:
// admin@, helpdesk@, info@ etc; not a personal email
break;
// ... and so on.
}
} else if ($result->getStatus() === Result::STATUS_INVALID) {
// Invalid email.
} else if ($result->getStatus() === Result::STATUS_SPAMTRAP) {
// Spam-trap.
} else if ($result->getStatus() === Result::STATUS_ABUSE) {
// Abuse.
} else if ($result->getStatus() === Result::STATUS_CATCH_ALL) {
// Address is catch-all; not necessarily a private email.
} else if ($result->getStatus() === Result::STATUS_UNKNOWN) {
// Unknown email status.
}
/*
* To find out how to use and react to different status and
* substatus codes, see the ZeroBounce documentation at:
* https://www.zerobounce.net/docs/?swift#version-2-v2
*/
} catch (\nickdnk\ZeroBounce\HttpException $exception) {
// ZeroBounce returned an error of some kind. Message is best-effort parsing.
$exception->getMessage();
// The response is available here also.
// The HTTP code is 200 for 400-range problems, such as invalid credentials,
// so don't rely too much on that. It is
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.