Manual:RemoveInvalidEmails.php

removeInvalidEmails.php is a maintenance>Special:MyLanguage/Manual:Maintenance scripts|maintenance script.

Emails are validated before users can add them, but this was not always the case so older users may have invalid ones. This script can be used to remove emails that are invalid from the user_email column of the user table.

By default it does a dry-run; pass --commit to actually update the database.

Details
The script is checking all users, who have provided an email address, which has not yet been authenticated. It validates an email address using an HTML5 specification found at: http://www.whatwg.org/html/states-of-the-type-attribute.html#valid-e-mail-address. The implementation is not 100% identical to, but comes close to RFC 2822. The script can be used to remove all invalid email addresses.