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]