The world's only more-or-less-2822-compliant Java-based email address extractor / verifier
- Author: http://stackoverflow.com/a/13133880/441662
- Based on: Les Hazlewood's java regex version, code: https://github.com/lhazlewood/jeav
- Origin: http://lacinato.com/cm/software/emailrelated/emailaddress
- Used in: https://github.com/bbottema/simple-java-mail
There are two classes available, EmailaddressValidator and EmailAddressParser. The second is used to extract data from (complex / mangled) email strings.
For both of these, you use the EmailAddressCriteria enumeration to control RFC strictness.
Here's an example for validating an email address:
boolean isValid = EmailAddressValidator.isValid(emailaddress);
boolean isValid = EmailAddressValidator.isValid(emailaddress, EmailAddressCriteria.DEFAULT);
boolean isValid = EmailAddressValidator.isValid(emailaddress, EmailAddressCriteria.RFC_COMPLIANT);
boolean isValid = EmailAddressValidator.isValid(emailaddress, EnumSet.of(ALLOW_DOT_IN_A_TEXT, ALLOW_SQUARE_BRACKETS_IN_A_TEXT));