From a893f8a4f580590305c0d93fe212692dd680e0da Mon Sep 17 00:00:00 2001
From: aboeckle <alexander.boeckle@frentix.com>
Date: Wed, 15 Apr 2020 08:04:22 +0200
Subject: [PATCH] OO-4603 Fixed mail check

---
 .../impressum/ImpressumAdminController.java          |  3 ++-
 src/main/java/org/olat/core/util/StringHelper.java   | 12 ++----------
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/olat/core/commons/controllers/impressum/ImpressumAdminController.java b/src/main/java/org/olat/core/commons/controllers/impressum/ImpressumAdminController.java
index 952405136bd..0bef6b121d7 100644
--- a/src/main/java/org/olat/core/commons/controllers/impressum/ImpressumAdminController.java
+++ b/src/main/java/org/olat/core/commons/controllers/impressum/ImpressumAdminController.java
@@ -50,6 +50,7 @@ import org.olat.core.util.StringHelper;
 import org.olat.core.util.filter.FilterFactory;
 import org.olat.core.util.i18n.I18nManager;
 import org.olat.core.util.i18n.I18nModule;
+import org.olat.core.util.mail.EmailAddressValidator;
 import org.olat.core.util.vfs.LocalFileImpl;
 import org.olat.core.util.vfs.LocalFolderImpl;
 import org.olat.core.util.vfs.VFSContainer;
@@ -263,7 +264,7 @@ public class ImpressumAdminController extends FormBasicController {
 		textElement.clearError();
 		if(StringHelper.containsNonWhitespace(textElement.getValue())) {
 			if (isMail) {
-				if (!StringHelper.checkMailFormat(textElement.getValue())) {
+				if (!EmailAddressValidator.isValidEmailAddress(textElement.getValue())) {
 					textElement.setErrorKey("input.wrong.mail", null);
 					return false;
 				}
diff --git a/src/main/java/org/olat/core/util/StringHelper.java b/src/main/java/org/olat/core/util/StringHelper.java
index db8409923db..c738016d339 100644
--- a/src/main/java/org/olat/core/util/StringHelper.java
+++ b/src/main/java/org/olat/core/util/StringHelper.java
@@ -46,12 +46,12 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.logging.log4j.Logger;
 import org.olat.core.id.Identity;
 import org.olat.core.logging.AssertException;
-import org.apache.logging.log4j.Logger;
 import org.olat.core.logging.Tracing;
-import org.olat.core.util.filter.impl.HtmlScanner;
 import org.olat.core.util.filter.FilterFactory;
+import org.olat.core.util.filter.impl.HtmlScanner;
 import org.olat.core.util.filter.impl.OWASPAntiSamyXSSFilter;
 import org.olat.user.UserManager;
 
@@ -70,8 +70,6 @@ public class StringHelper {
 	private static final NumberFormat numFormatter;
 	private static final String WHITESPACE_REGEXP = "^\\s*$";
 	private static final Pattern WHITESPACE_PATTERN = Pattern.compile(WHITESPACE_REGEXP);
-	private static final String EMAIL_REGEXP = "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
-	private static final Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEXP);
 	
 	private static final int LONG_MAX_LENGTH = Long.toString(Long.MAX_VALUE).length();
 	
@@ -677,10 +675,4 @@ public class StringHelper {
 		}
 		return shortenedText;
 	}
-	
-	public static boolean checkMailFormat(String mail) {
-		Matcher m = EMAIL_PATTERN.matcher(mail);
-
-        return m.matches();
-	}
 }
-- 
GitLab