5,11 → 5,13 |
import java.util.regex.Pattern; |
|
import de.viathinksoft.utils.mail.EMailAddress; |
import de.viathinksoft.utils.mail.InvalidMailAddressException; |
|
/** |
* This class is not stable. For a good syntax check, please use the classes of |
* Dominic Sayers or Cal Henderson. |
* |
* @author Daniel Marschall |
* @version 0.1 |
* |
*/ |
public class MailSyntaxChecker { |
104,8 → 106,7 |
return true; |
} |
|
public static boolean isMailValid(String email) |
throws InvalidMailAddressException { |
public static boolean isMailValid(String email) { |
return isMailValid(new EMailAddress(email)); |
} |
|
135,19 → 136,17 |
} |
|
// localPart darf keine Punkte am Anfang oder Ende besitzen |
if (localPart.length() == 0) return false; |
String lpFirstChar = localPart.substring(0, 1); |
String lpLastChar = localPart.substring(localPart.length()-1); |
if (lpFirstChar.equals(".") || (lpLastChar.equals("."))) { |
|
if (localPart.length() == 0) { |
return false; |
} |
if (localPart.startsWith(".") || localPart.endsWith(".")) { |
return false; |
} |
|
// domainPart darf keine Punkte am Anfang oder Ende besitzen |
|
String dpFirstChar = domainPart.substring(0, 1); |
String dpLastChar = domainPart.substring(domainPart.length()-1); |
|
if (dpFirstChar.equals(".") || (dpLastChar.equals("."))) { |
if (domainPart.startsWith(".") || domainPart.endsWith(".")) { |
return false; |
} |
|
160,7 → 159,8 |
String ip = ""; // TODO |
|
if (CHECK_DNS) { |
if (!checkDns(ip)) return false; |
if (!checkDns(ip)) |
return false; |
} |
} else if (preg_match("^\\["+REGEX_IP+"\\]$", domainPart)) { |
// domainPart is [<IP>] |
168,7 → 168,8 |
String ip = ""; // TODO |
|
if (CHECK_DNS) { |
if (!checkDns(ip)) return false; |
if (!checkDns(ip)) |
return false; |
} |
} else { |
if (!preg_match("^[A-Za-z0-9\\-\\.]+$", domainPart)) { |
181,7 → 182,8 |
} |
|
if (CHECK_DNS) { |
if (!checkDns(domainPart)) return false; |
if (!checkDns(domainPart)) |
return false; |
} |
} |
|
191,8 → 193,8 |
localPart.replaceAll("\\\\", "").replaceAll("@", "") )) { |
// character not valid in local part unless |
// local part is quoted |
if (!preg_match("^\"(\\\\\"|[^\"])+\"$", |
localPart.replaceAll("\\\\", "").replaceAll("@", "") )) { |
if (!preg_match("^\"(\\\\\"|[^\"])+\"$", localPart.replaceAll( |
"\\\\", "").replaceAll("@", ""))) { |
return false; |
} |
} |