1 package com.atlassian.mail.server.impl; 2 3 import com.atlassian.mail.MailException; 4 import com.atlassian.mail.MailProtocol; 5 import com.atlassian.mail.server.AbstractMailServer; 6 import com.atlassian.mail.server.MailServerManager; 7 import com.atlassian.mail.server.PopMailServer; 8 9 import javax.mail.Session; 10 import java.util.Properties; 11 12 import static com.atlassian.mail.MailConstants.*; 13 14 public class PopMailServerImpl extends AbstractMailServer implements PopMailServer 15 { 16 public PopMailServerImpl() 17 { 18 19 } 20 21 public PopMailServerImpl(Long id, String name, String description, String serverName, String username, String password) 22 { 23 this(id, name, description, DEFAULT_POP_PROTOCOL, serverName, DEFAULT_POP_PORT, username, password, DEFAULT_TIMEOUT); 24 } 25 26 public PopMailServerImpl(Long id, String name, String description, MailProtocol popProtocol, String serverName, String popPort, String username, String password) 27 { 28 this(id, name, description, popProtocol, serverName, popPort, username, password, DEFAULT_TIMEOUT); 29 } 30 31 public PopMailServerImpl(Long id, String name, String description, MailProtocol popProtocol, String serverName, String popPort, String username, String password, long timeout) 32 { 33 super(id, name, description, popProtocol, serverName, popPort, username, password, timeout); 34 } 35 36 @Override 37 protected javax.mail.Authenticator getAuthenticator() 38 { 39 return null; 40 } 41 42 public String getType() 43 { 44 return MailServerManager.SERVER_TYPES[0]; 45 } 46 47 public Session getSession() throws MailException 48 { 49 final Properties props = loadSystemProperties(getProperties()); 50 return getSessionFromServerManager(props, getAuthenticator()); 51 } 52 53 }