diff --git a/src/main/java/org/apache/sling/cli/impl/mail/Mailer.java b/src/main/java/org/apache/sling/cli/impl/mail/Mailer.java
index 58a873b..1a3d2ee 100644
--- a/src/main/java/org/apache/sling/cli/impl/mail/Mailer.java
+++ b/src/main/java/org/apache/sling/cli/impl/mail/Mailer.java
@@ -26,6 +26,7 @@
 import javax.mail.Session;
 import javax.mail.Transport;
 import javax.mail.internet.MimeMessage;
+import javax.net.ssl.SSLContext;
 
 import org.apache.sling.cli.impl.Credentials;
 import org.apache.sling.cli.impl.CredentialsService;
@@ -43,11 +44,18 @@
 
     private static final Properties SMTP_PROPERTIES = new Properties();
     static {
-        SMTP_PROPERTIES.put("mail.smtp.host", "mail-relay.apache.org");
-        SMTP_PROPERTIES.put("mail.smtp.port", "465");
-        SMTP_PROPERTIES.put("mail.smtp.auth", "true");
-        SMTP_PROPERTIES.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
-        SMTP_PROPERTIES.put("mail.smtp.socketFactory.fallback", "false");
+        try {
+            SMTP_PROPERTIES.put("mail.smtp.host", "mail-relay.apache.org");
+            SMTP_PROPERTIES.put("mail.smtp.port", "465");
+            SMTP_PROPERTIES.put("mail.smtp.auth", "true");
+            SMTP_PROPERTIES.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
+            SMTP_PROPERTIES.put("mail.smtp.socketFactory.fallback", "false");
+            SMTP_PROPERTIES.put("mail.smtp.ssl.protocols",
+                    String.join(" ", SSLContext.getDefault().getSupportedSSLParameters().getProtocols())
+            );
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
     }
 
     @Reference
diff --git a/src/test/java/org/apache/sling/cli/impl/release/TallyVotesCommandTest.java b/src/test/java/org/apache/sling/cli/impl/release/TallyVotesCommandTest.java
index ea07a04..c96835c 100644
--- a/src/test/java/org/apache/sling/cli/impl/release/TallyVotesCommandTest.java
+++ b/src/test/java/org/apache/sling/cli/impl/release/TallyVotesCommandTest.java
@@ -65,7 +65,8 @@
                          // https://github.com/powermock/powermock/issues/864
                          "com.sun.org.apache.xerces.*",
                          "javax.xml.*",
-                         "org.w3c.dom.*"
+                         "org.w3c.dom.*",
+                         "javax.net.ssl.*"
                  })
 public class TallyVotesCommandTest {
 
