Author: davsclaus
Date: Sun May 11 00:42:26 2008
New Revision: 655276

URL: http://svn.apache.org/viewvc?rev=655276&view=rev
Log:
CAMEL-491
- added Authenticator that just uses the already configued username and 
password, so no need for live user interaction

Modified:
    
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
    
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java

Modified: 
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java?rev=655276&r1=655275&r2=655276&view=diff
==============================================================================
--- 
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
 (original)
+++ 
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
 Sun May 11 00:42:26 2008
@@ -22,6 +22,8 @@
 import java.util.Properties;
 import javax.mail.Message;
 import javax.mail.Session;
+import javax.mail.PasswordAuthentication;
+import javax.mail.Authenticator;
 
 import org.apache.camel.component.mail.security.DummySSLSocketFactory;
 import org.springframework.mail.javamail.JavaMailSenderImpl;
@@ -121,6 +123,10 @@
         }
         if (session != null) {
             answer.setSession(session);
+        } else {
+            // use our authenticator that does no live user interaction but 
returns the already configured username and password
+            Session session = 
Session.getDefaultInstance(answer.getJavaMailProperties(), getAuthenticator());
+            answer.setSession(session);
         }
         if (username != null) {
             answer.setUsername(username);
@@ -145,6 +151,7 @@
         properties.put("mail.user", username);
 
         if (debugMode) {
+            // add more debug for the SSL communication as well
             properties.put("javax.net.debug", "all");
         }
 
@@ -166,6 +173,17 @@
                || this.protocol.equalsIgnoreCase("imaps");
     }
 
+    /**
+     * Returns an authenticator object for use in sessions
+     */
+    public Authenticator getAuthenticator() {
+        return new Authenticator() {
+            protected PasswordAuthentication getPasswordAuthentication() {
+                return new PasswordAuthentication(getUsername(), 
getPassword());
+            }
+        };
+    }
+
     public String getMailStoreLogInformation() {
         String ssl = "";
         if (isSecureProtocol()) {

Modified: 
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java?rev=655276&r1=655275&r2=655276&view=diff
==============================================================================
--- 
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java
 (original)
+++ 
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MimeMessageConsumeTest.java
 Sun May 11 00:42:26 2008
@@ -52,7 +52,7 @@
 
         Properties properties = new Properties();
         properties.put("mail.smtp.host", "localhost");
-        Session session = Session.getDefaultInstance(properties, null);
+        Session session = Session.getInstance(properties, null);
 
         MimeMessage message = new MimeMessage(session);
         populateMimeMessageBody(message);


Reply via email to