public
Description: A PHP class for performing email addresses validation via SMTP
Homepage:
Clone URL: git://github.com/zytzagoo/smtp-validate-email.git
commit  a4d2e8d4d1e4a2ddc5be680621210e216306be0d
tree    bdea01d4cdd4e228f0afa1e9c5874dc3e2c3aed9
parent  e92dc0f57d444fffa370ac03609d725b0d6888ba
name age message
file .gitignore Fri Jan 30 07:20:28 -0800 2009 Initial commit. [zytzagoo]
file README Fri Jan 30 07:20:28 -0800 2009 Initial commit. [zytzagoo]
file smtp-validate-email.php Fri Jan 30 09:46:29 -0800 2009 avoid processing validate() if we have nothing ... [zytzagoo]
README
SMTP_Validate_Email - Perform email address verification via SMTP.

The class retrieves MX records for the email domain and then connects to the
domain's SMTP server to try figuring out if the address is really valid.

Some features (see the source for more):
* Not really sending a message, gracefully resetting the session when done
* Command-specific communication timeouts implemented per the relevant RFCs
* Catch-all account detection
* Batch mode processing supported
* MX query support on Windows without requiring any PEAR packages
* Logging and debugging support

Basic usage example:
<?php

    require('smtp-validate-email.php');

    $from = 'a-happy-camper@campspot.net'; // for SMTP FROM:<> command
    $email = 'someone@somewhere.net';

    $validator = new SMTP_Validate_Email($email, $from);
    $smtp_results = $validator->validate();

    var_dump($smtp_results);

?>

The class supports passing an array of addresses in the constructor, or to the
validate() method. The handling of multiple addresses on the same server uses
a single connection.

Array example:
<?php

    require('smtp-validate-email.php');

    $from = 'a-happy-camper@campspot.net'; // for SMTP FROM:<> command
    $emails = array(
        'someone@somewhere.net',
        'some-other@somewhere-else.net',
        'someone@example.com',
        'someone-else@example.com'
    );

    $validator = new SMTP_Validate_Email($emails, $from);
    $smtp_results = $validator->validate();

    // or passing to the validate() method
    // $validator = new SMTP_Validate_Email();
    // $smtp_results = $validator->validate($emails, $from);

    var_dump($smtp_results);

?>