diff --git a/README.md b/README.md
index 0cbb23663ca9..46947089b8fd 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,7 @@ Currently, the following fixes are present in the code:
* MD-6399 send correct email when calling the verify email endpoint
* MD-6730 fix email validation to be RFC compliant.
+* MD-7399 update email validator (partially reverts MD-6730)
## Help and Documentation
diff --git a/pom.xml b/pom.xml
index 1e17b2e2c91a..6709c2ad7179 100644
--- a/pom.xml
+++ b/pom.xml
@@ -385,9 +385,9 @@
- com.github.bbottema
- emailaddress-rfc2822
- 2.3.1
+ com.sanctionco.jmail
+ jmail
+ 1.6.2
org.eclipse.angus
diff --git a/server-spi-private/pom.xml b/server-spi-private/pom.xml
index c1abe86c8ef0..02216f4b4741 100755
--- a/server-spi-private/pom.xml
+++ b/server-spi-private/pom.xml
@@ -60,7 +60,6 @@
org.apache.httpcomponents
httpclient
-
com.google.guava
@@ -78,9 +77,9 @@
test
- com.github.bbottema
- emailaddress-rfc2822
- 2.3.1
+ com.sanctionco.jmail
+ jmail
+ 1.6.2
diff --git a/server-spi-private/src/main/java/org/keycloak/validate/validators/EmailValidator.java b/server-spi-private/src/main/java/org/keycloak/validate/validators/EmailValidator.java
index 2a72725f2d0a..0431b3ee05ba 100644
--- a/server-spi-private/src/main/java/org/keycloak/validate/validators/EmailValidator.java
+++ b/server-spi-private/src/main/java/org/keycloak/validate/validators/EmailValidator.java
@@ -21,13 +21,12 @@
import org.keycloak.provider.ConfiguredProvider;
import org.keycloak.provider.ProviderConfigProperty;
-import org.keycloak.utils.EmailValidationUtil;
import org.keycloak.validate.AbstractStringValidator;
import org.keycloak.validate.ValidationContext;
import org.keycloak.validate.ValidationError;
import org.keycloak.validate.ValidatorConfig;
-import org.hazlewood.connor.bottema.emailaddress.EmailAddressValidator;
+import com.sanctionco.jmail.JMail;
/**
* Email format validation - accepts plain string and collection of strings, for basic behavior like null/blank values
@@ -48,7 +47,7 @@ public String getId() {
@Override
protected void doValidate(String value, String inputHint, ValidationContext context, ValidatorConfig config) {
- if (!EmailAddressValidator.isValidStrict(value)) {
+ if (!JMail.isValid(value)) {
context.addError(new ValidationError(ID, inputHint, MESSAGE_INVALID_EMAIL, value));
}
}
diff --git a/services/src/main/java/org/keycloak/services/validation/Validation.java b/services/src/main/java/org/keycloak/services/validation/Validation.java
index fa9965459a6e..29e3037c2f25 100755
--- a/services/src/main/java/org/keycloak/services/validation/Validation.java
+++ b/services/src/main/java/org/keycloak/services/validation/Validation.java
@@ -17,10 +17,9 @@
package org.keycloak.services.validation;
-import org.hazlewood.connor.bottema.emailaddress.EmailAddressValidator;
+import com.sanctionco.jmail.JMail;
import org.keycloak.models.utils.FormMessage;
import org.keycloak.userprofile.ValidationException;
-import org.keycloak.utils.EmailValidationUtil;
import java.util.ArrayList;
import java.util.List;
@@ -63,7 +62,7 @@ public static boolean isBlank(String s) {
}
public static boolean isEmailValid(String email) {
- return EmailAddressValidator.isValidStrict(email);
+ return JMail.isValid(email);
}
public static boolean isUsernameValid(String username) {