From 48168e52dd066f9296b74a12966d41eff7636de0 Mon Sep 17 00:00:00 2001
From: Johan de Klerk <johan@shiplogic.com>
Date: Fri, 18 Nov 2022 09:55:06 +0200
Subject: [PATCH] Clean email before validation

---
 string_utils/string_utils.go | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/string_utils/string_utils.go b/string_utils/string_utils.go
index 95e9b5e..a9f5986 100644
--- a/string_utils/string_utils.go
+++ b/string_utils/string_utils.go
@@ -314,13 +314,16 @@ func ValidateEmailAddress(email string) (string, error) {
 		return "", errors.Error("email address is empty")
 	}
 
+	cleanEmail := strings.ToLower(strings.TrimSpace(email))
+	cleanEmail = RemoveAllWhiteSpaces(cleanEmail)
+
 	// We validate it but still return it since in some cases we don't want to break everything if the email is bad
-	_, err := mail.ParseAddress(email)
+	_, err := mail.ParseAddress(cleanEmail)
 	if err != nil {
-		return strings.ToLower(strings.TrimSpace(email)), errors.Wrap(err, "could not parse email address")
+		return cleanEmail, errors.Wrap(err, "could not parse email address")
 	}
 
-	return strings.ToLower(strings.TrimSpace(email)), nil
+	return cleanEmail, nil
 }
 
 func PascalCaseToSentence(pascal string) string {
-- 
GitLab