1 78 package com.ivata.groupware.business.mail.session; 79 80 import java.security.NoSuchProviderException ; 81 import java.util.Properties ; 82 83 import javax.mail.MessagingException ; 84 import javax.mail.Session ; 85 import javax.mail.Store ; 86 import javax.naming.AuthenticationException ; 87 88 import org.picocontainer.PicoContainer; 89 90 import com.ivata.groupware.admin.security.server.AbstractSecuritySession; 91 import com.ivata.groupware.admin.security.server.SecurityServerException; 92 import com.ivata.groupware.admin.security.user.UserDO; 93 import com.ivata.mask.util.SystemException; 94 95 96 107 public class MailSession extends AbstractSecuritySession { 108 112 private Properties mailProperties = null; 113 114 118 public MailAuthenticator authenticator; 119 120 123 public MailSession(PicoContainer container, UserDO user) 124 throws SystemException { 125 super(container, user); 126 } 127 128 142 public Session login(final String password, 143 final Properties mailProperties) 144 throws SecurityServerException, NoSuchProviderException , 145 MessagingException { 146 authenticator = new MailAuthenticator( 147 mailProperties.getProperty("mail.user"), password); 148 this.mailProperties = mailProperties; 149 150 return getJavaMailSession(); 151 } 152 153 164 public Session getJavaMailSession() 165 throws SecurityServerException, NoSuchProviderException , 166 MessagingException { 167 Session javaSession = Session.getInstance(mailProperties, authenticator); 168 Store store = javaSession.getStore("imap"); 169 if (!store.isConnected()) { 170 store.connect(); 171 } 172 store.close(); 173 return javaSession; 174 } 175 } 176 | Popular Tags |