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;
}