Author: rmannibucau
Date: Mon Sep 10 06:46:55 2012
New Revision: 1382657

URL: http://svn.apache.org/viewvc?rev=1382657&view=rev
Log:
TOMEE-407 better handling of user prop (with correct protocol) + ability to use 
default session

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java?rev=1382657&r1=1382656&r2=1382657&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java
 Mon Sep 10 06:46:55 2012
@@ -24,13 +24,16 @@ import java.util.Properties;
 
 public class MailSessionFactory {
     private final Properties properties = new Properties();
+    private boolean useDefault = false;
 
     public Session create() {
         final String password = properties.getProperty("password");
 
         Authenticator auth = null;
         if (password != null) {
-            String user = properties.getProperty("mail.smtp.user");
+            final String protocol = 
properties.getProperty("mail.transport.protocol", "smtp");
+
+            String user = properties.getProperty("mail." + protocol + ".user");
             if(user == null) {
                 user = properties.getProperty("mail.user");
             }
@@ -45,7 +48,17 @@ public class MailSessionFactory {
             }
         }
 
-        return Session.getInstance(properties, auth);
+        if (useDefault) {
+            if (auth != null) {
+                return Session.getDefaultInstance(properties, auth);
+            }
+            return Session.getDefaultInstance(properties);
+        }
+
+        if (auth != null) {
+            return Session.getInstance(properties, auth);
+        }
+        return Session.getInstance(properties);
     }
 
     public Properties getProperties() {
@@ -60,4 +73,8 @@ public class MailSessionFactory {
             }
         }
     }
+
+    public void setUseDefault(boolean useDefault) {
+        this.useDefault = useDefault;
+    }
 }


Reply via email to