diff --git a/pom.xml b/pom.xml index fa3ba37e94e34c43440b270365f6316cde55d59b..bca61689965759ab68561d55244fb3607567964c 100644 --- a/pom.xml +++ b/pom.xml @@ -157,12 +157,6 @@ 3.8.1 - - com.sun.mail - javax.mail - 1.6.2 - - org.springframework.security @@ -182,6 +176,14 @@ spring-boot-configuration-processor true + + + + commons-validator + commons-validator + 1.4.0 + + diff --git a/src/main/java/biz/nynja/account/validation/Validators.java b/src/main/java/biz/nynja/account/validation/Validators.java index 179d49afcb6aaa776db4806750477d478f4d12b4..9152ac60702eb6df45493027ad2612c8ad19bbd8 100644 --- a/src/main/java/biz/nynja/account/validation/Validators.java +++ b/src/main/java/biz/nynja/account/validation/Validators.java @@ -9,10 +9,8 @@ import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.mail.internet.AddressException; -import javax.mail.internet.InternetAddress; - import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.validator.routines.EmailValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -363,8 +361,8 @@ public class Validators { } if (authenticationIdentifier == null || authenticationIdentifier.isEmpty()) { - validation.addError( - new ValidationError("Missing authentication provider identifier", Cause.MISSING_AUTH_PROVIDER_ID)); + validation.addError(new ValidationError("Missing authentication provider identifier", + Cause.MISSING_AUTH_PROVIDER_ID)); return validation; } @@ -390,9 +388,9 @@ public class Validators { public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { boolean isValid = false; - + logger.debug("Checking validity of phone number {} and code {}.", phoneNumber, countryCode); - + PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); Phonenumber.PhoneNumber pn; try { @@ -400,7 +398,7 @@ public class Validators { isValid = phoneUtil.isValidNumberForRegion(pn, countryCode); } catch (NumberParseException e) { isValid = false; - } + } logger.debug("PhoneNumber: {} for country: {} is valid: {}", phoneNumber, countryCode, isValid); @@ -452,16 +450,11 @@ public class Validators { } public boolean isEmailValid(String email) { - boolean result = true; - logger.debug("Checking email: {}", email); + logger.info("Checking email: {}", email); - try { - InternetAddress emailAddr = new InternetAddress(email); - emailAddr.validate(); - } catch (AddressException ex) { - result = false; - } - logger.debug("Email: {} is valid: {}", email, result); + EmailValidator eValidator = EmailValidator.getInstance(); + boolean result = eValidator.isValid(email); + logger.info("Email: {} is " + (result ? "" : "not ") + "valid.", email); return result; }