keycloak-memoizeit

Details

diff --git a/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java b/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
index ca3575c..23efd90 100644
--- a/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
+++ b/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
@@ -120,10 +120,10 @@ public class DefaultEmailSenderProvider implements EmailSenderProvider {
             msg.setFrom(toInternetAddress(from, fromDisplayName));
 
             msg.setReplyTo(new Address[]{toInternetAddress(from, fromDisplayName)});
-            if (replyTo != null) {
+            if (replyTo != null && !replyTo.isEmpty()) {
                 msg.setReplyTo(new Address[]{toInternetAddress(replyTo, replyToDisplayName)});
             }
-            if (envelopeFrom != null) {
+            if (envelopeFrom != null && !envelopeFrom.isEmpty()) {
                 msg.setEnvelopeFrom(envelopeFrom);
             }
 
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java
index ac7a947..d06679f 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/SMTPConnectionTest.java
@@ -61,11 +61,12 @@ public class SMTPConnectionTest extends AbstractKeycloakTest {
 
     private String settings(String host, String port, String from, String auth, String ssl, String starttls,
                             String username, String password) throws Exception {
-        Map<String, String> config = smtpMap(host, port, from, auth, ssl, starttls, username, password);
+        Map<String, String> config = smtpMap(host, port, from, auth, ssl, starttls, username, password, "", "");
         return writeValueAsPrettyString(config);
     }
 
-    private Map<String, String> smtpMap(String host, String port, String from, String auth, String ssl, String starttls, String username, String password) {
+    private Map<String, String> smtpMap(String host, String port, String from, String auth, String ssl, String starttls,
+                                        String username, String password, String replyTo, String envelopeFrom) {
         Map<String, String> config = new HashMap<>();
         config.put("host", host);
         config.put("port", port);
@@ -75,11 +76,13 @@ public class SMTPConnectionTest extends AbstractKeycloakTest {
         config.put("starttls", starttls);
         config.put("user", username);
         config.put("password", password);
+        config.put("replyTo", replyTo);
+        config.put("envelopeFrom", envelopeFrom);
         return config;
     }
 
     @Test
-    public void testWithEmptySettings() throws Exception {
+    public void testWithNullSettings() throws Exception {
         Response response = realm.testSMTPConnection(settings(null, null, null, null, null, null,
                 null, null));
         assertStatus(response, 500);
@@ -114,7 +117,7 @@ public class SMTPConnectionTest extends AbstractKeycloakTest {
         Map<String, String> oldSmtp = realmRep.getSmtpServer();
         try {
             realmRep.setSmtpServer(smtpMap("127.0.0.1", "3025", "auto@keycloak.org", "true", null, null,
-                    "admin@localhost", "admin"));
+                    "admin@localhost", "admin", null, null));
             realm.update(realmRep);
 
             greenMailRule.credentials("admin@localhost", "admin");