+ public static boolean isValidMailAddress(String address) {
+ if ( !MAIL_ADDRESS.matcher(address).matches()) {
+ return false;
+ }
+
+ String[] parts = address.split("@", 2);
+
+ String local = parts[0];
+ String domain = parts[1];
+
+ if ( !MAIL_LOCAL.matcher(local).matches()) {
+ return false;
+ }
+
+ for (String domainPart : domain.split("\\.", -1)) {
+ if ( !DomainAssessment.isValidDomainPart(domainPart)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+