This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch smtps
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 02171856ff3108653bd1d3795fa0225d38eda1e3
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Jan 23 20:08:46 2026 +0100

    CAMEL-22900: camel-mail - Add mail.smtps.xxx headers for sending with SMTPS 
emails
---
 .../org/apache/camel/component/mail/MailConfiguration.java   |  6 ++++++
 .../java/org/apache/camel/component/mail/MailProducer.java   | 12 +++++++++---
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
index 36fc2f868e7d..1036ea4c9009 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
@@ -239,10 +239,16 @@ public class MailConfiguration implements Cloneable {
         if (session != null) {
             answer.setSession(session);
             String hostPropertyValue = session.getProperty("mail.smtp.host");
+            if (hostPropertyValue == null || hostPropertyValue.isEmpty()) {
+                hostPropertyValue = session.getProperty("mail.smtps.host");
+            }
             if (hostPropertyValue != null && !hostPropertyValue.isEmpty()) {
                 answer.setHost(hostPropertyValue);
             }
             String portPropertyValue = session.getProperty("mail.smtp.port");
+            if (portPropertyValue == null || portPropertyValue.isEmpty()) {
+                portPropertyValue = session.getProperty("mail.smtps.port");
+            }
             if (portPropertyValue != null && !portPropertyValue.isEmpty()) {
                 answer.setPort(Integer.parseInt(portPropertyValue));
             }
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailProducer.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailProducer.java
index 417bf3a09614..0812f29dfb85 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailProducer.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailProducer.java
@@ -87,8 +87,13 @@ public class MailProducer extends DefaultAsyncProducer {
     }
 
     protected JavaMailSender getSender(Exchange exchange) {
-        // do we have special headers
-        Map<String, Object> additional = 
URISupport.extractProperties(exchange.getMessage().getHeaders(), "mail.smtp.");
+        // do we have special headers (try both smpt and smtps)
+        String prefix = "mail.smtp.";
+        Map<String, Object> additional = 
URISupport.extractProperties(exchange.getMessage().getHeaders(), prefix);
+        if (additional.isEmpty()) {
+            prefix = "mail.smtps.";
+            additional = 
URISupport.extractProperties(exchange.getMessage().getHeaders(), prefix);
+        }
         if (additional.isEmpty()) {
             // no then use default sender
             LOG.trace("Using default JavaMailSender");
@@ -98,10 +103,11 @@ public class MailProducer extends DefaultAsyncProducer {
             LOG.debug("Creating new JavaMailSender to include additional {} 
java mail properties", additional.size());
             JavaMailSender customSender
                     = 
getEndpoint().getConfiguration().createJavaMailSender(getEndpoint().getCamelContext());
+            final String scheme = prefix;
             additional.forEach((k, v) -> {
                 if (v != null) {
                     // add with prefix so we dont loose that
-                    customSender.addAdditionalJavaMailProperty("mail.smtp." + 
k, v.toString());
+                    customSender.addAdditionalJavaMailProperty(scheme + k, 
v.toString());
                 }
             });
             return customSender;

Reply via email to