This module provides advanced email address checking. The core of Drupal, through the user module, only performs syntactical checking of user-entered email addresses, both during registration and account edition. This creates loads of problems when users incorrectly enter their address. First, they don't get any email from the site. If it happened during registration, they will not get their password. They will either bug the site admin or give up on the site altogether, both cases being a bad thing. Second, the site admin will get email bounces, which soon gets annoying if you have a moderately busy site.

This module tries to solve this problem by checking that the address really exists when it is entered by the user. First, it checks if the domain/host part exists at all, and reports an error if it does not. I found that this step alone catches between 1/2 and 2/3 of typos. Second, it tries to validate the user name too, by sending a HELO/MAIL FROM/RCPT TO chain of commands to the SMTP servers for the found host. Some hosts will not reveal if the user name is valid ("catch-all policy") while others might refuse the check for some reason (for instance, some hosts refuse deliveries from IPs delivered to home users by Internet access providers). When in doubt, we try to play it safe and rather accept some invalid addresses than to refuse valid ones.

I (dbr) have currently very little time available for this project, so contributions are very welcome!

Module version information

This is currently the stable, production ready branch. No new features will be added to this branch. Only bug and security fixes will be accepted to this branch.
The is the branch that is currently in development. New feature requests will currently only be accepted into this branch.

Drupal 8 support

At the time of this writing (June 19, 2016), the Drupal 8 compatible branch is still very much a work in progress. Testing, code reviews, and patches to fixes bugs are welcome. The current main issue for this work is #2693349: Port Email Verify to Drupal 8.

Drupal 6 support

Please note that support for Drupal 6 officially ended on February 24. While there are a few companies offering to support Drupal 6 beyond that window, I (oadaeh) do not have any intention on doing that with this module. Since dbr has stated that he does not have the time (above), unless someone else steps up to maintain that branch, there will be no support for the 6.x-* branch(es). The existing code can still be downloaded via the "Version control" tab beneath the project title above or the "View all releases" under the Downloads table below.

Project Information