Author: norman
Date: Mon Aug 31 07:10:42 2009
New Revision: 809480

URL: http://svn.apache.org/viewvc?rev=809480&view=rev
Log:
Add support for IMAPS and SMTPS (LABS-425)

Modified:
    
labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java
    
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
    
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
    
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
    
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
    labs/hupa/server/src/main/resources/config.properties

Modified: 
labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- 
labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java
 (original)
+++ 
labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java
 Mon Aug 31 07:10:42 2009
@@ -44,14 +44,19 @@
        private final Map<String,IMAPStore> pool = new HashMap<String 
,IMAPStore>();
        private String address;
        private int port;
+       private boolean useSSL = false;
        
        @Inject
-       public InMemoryIMAPStoreCache(Log logger,@Named("IMAPServerAddress") 
String address, @Named("IMAPServerPort") int port, Provider<Session> 
sessionProvider) {
+       public InMemoryIMAPStoreCache(Log logger,@Named("IMAPServerAddress") 
String address, @Named("IMAPServerPort") int port, @Named("IMAPS") boolean 
useSSL,Provider<Session> sessionProvider) {
                this.logger = logger;
                this.address = address;
                this.port = port;
+               this.useSSL = useSSL;
                
         props.setProperty("mail.mime.decodetext.strict", "false");
+        if (useSSL) {
+               props.setProperty("mail.store.protocol", "imaps");
+        }
         session = sessionProvider.get();
         System.setProperty("mail.mime.decodetext.strict", "false");
        }
@@ -72,7 +77,11 @@
                IMAPStore store = pool.get(username);
                if (store == null) {
                        logger.debug("No cached store found for user " 
+username);
-                       store = (IMAPStore) session.getStore("imap"); 
+                       if (useSSL) {
+                               store = (IMAPStore)session.getStore("imaps");
+                       } else {
+                               store = (IMAPStore) session.getStore("imap"); 
+                       }
                }
                if (store.isConnected() == false) {
                        store.connect(address, port, username,password);

Modified: 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
 (original)
+++ 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
 Mon Aug 31 07:10:42 2009
@@ -72,14 +72,16 @@
        private final boolean auth;
        private final String address;
        private final int port;
+       private boolean useSSL = false;
 
        @Inject
-       public AbstractSendMessageHandler(Log logger, FileItemRegistry 
registry,IMAPStoreCache store, Provider<HttpSession> 
provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") 
int port, @Named("SMTPAuth") boolean auth) {
+       public AbstractSendMessageHandler(Log logger, FileItemRegistry 
registry,IMAPStoreCache store, Provider<HttpSession> provider, 
@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, 
@Named("SMTPAuth") boolean auth, @Named("SMTPS") boolean useSSL) {
                super(store,logger,provider);
                this.registry = registry;
                this.auth = auth;
                this.address = address;
                this.port = port;
+               this.useSSL  = useSSL;
                props.put("mail.smtp.auth", auth);
        }
 
@@ -159,7 +161,13 @@
                return multipart;
        }
        protected void sendMessage(User user, Session session, Message message) 
throws MessagingException {
-               Transport transport = session.getTransport("smtp");
+               Transport transport;
+               if (useSSL) {
+                       transport = session.getTransport("smtps");
+
+               } else {
+                       transport = session.getTransport("smtp");
+               }
                // check if smtp auth is needed
                if (auth) {
                        logger.debug("Use auth for smtp connection");

Modified: 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
 (original)
+++ 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
 Mon Aug 31 07:10:42 2009
@@ -57,8 +57,8 @@
        @Inject
        public ForwardMessageHandler(Log logger, FileItemRegistry registry,
                        IMAPStoreCache store, Provider<HttpSession> provider,
-                       @Named("SMTPServerAddress") String address, 
@Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
-               super(logger, registry, store, provider, address, port, auth);
+                       @Named("SMTPServerAddress") String address, 
@Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth, 
@Named("SMTPS") boolean useSSL) {
+               super(logger, registry, store, provider, address, port, auth, 
useSSL);
        }
 
        @Override

Modified: 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
 (original)
+++ 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
 Mon Aug 31 07:10:42 2009
@@ -51,8 +51,8 @@
        @Inject
        public ReplyMessageHandler(Log logger, FileItemRegistry registry,
                        IMAPStoreCache store, Provider<HttpSession> provider,
-                       @Named("SMTPServerAddress") String address, 
@Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
-               super(logger, registry, store, provider, address, port, auth);
+                       @Named("SMTPServerAddress") String address, 
@Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth, 
@Named("SMTPS") boolean useSSL) {
+               super(logger, registry, store, provider, address, port, auth, 
useSSL);
        }
 
        /*

Modified: 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
 (original)
+++ 
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
 Mon Aug 31 07:10:42 2009
@@ -46,8 +46,8 @@
 
        @Inject
        public SendMessageHandler(Log logger, FileItemRegistry registry,
-                       IMAPStoreCache store, Provider<HttpSession> 
provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") 
int port, @Named("SMTPAuth") boolean auth) {
-               super(logger, registry, store, provider, address, port, auth);
+                       IMAPStoreCache store, Provider<HttpSession> 
provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") 
int port, @Named("SMTPAuth") boolean auth, @Named("SMTPS") boolean useSSL) {
+               super(logger, registry, store, provider, address, port, 
auth,useSSL);
        }
 
        /*

Modified: labs/hupa/server/src/main/resources/config.properties
URL: 
http://svn.apache.org/viewvc/labs/hupa/server/src/main/resources/config.properties?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- labs/hupa/server/src/main/resources/config.properties (original)
+++ labs/hupa/server/src/main/resources/config.properties Mon Aug 31 07:10:42 
2009
@@ -1,5 +1,15 @@
+# The IP or domainname of the IMAP server
 IMAPServerAddress=192.168.0.254
+# The port of the IMAP server
 IMAPServerPort=143
+# Use SSL/TLS to connect to the IMAP server
+IMAPS=false
+
+# The IP or domainname of the SMTP server
 SMTPServerAddress=192.168.0.254
+# The port of the SMTP server
 SMTPServerPort=25
-SMTPAuth=true
\ No newline at end of file
+# Use AUTH for SMTP
+SMTPAuth=true
+# Use SSL/TLS to connect to the SMTP server
+SMTPS=false
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to