SLING-10360 - The CLI tool cannot send emails via mail-relay.apache.org any more
* add all supported protocols of the default SSL context
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 {