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, null, null);
34 }
35
36 public PopMailServerImpl(Long id, String name, String description, MailProtocol popProtocol, String serverName, String popPort, String username, String password, long timeout, String socksHost, String socksPort)
37 {
38 super(id, name, description, popProtocol, serverName, popPort, username, password, timeout, socksHost, socksPort);
39 }
40
41 @Override
42 protected javax.mail.Authenticator getAuthenticator()
43 {
44 return null;
45 }
46
47 public String getType()
48 {
49 return MailServerManager.SERVER_TYPES[0];
50 }
51
52 public Session getSession() throws MailException
53 {
54 final Properties props = loadSystemProperties(getProperties());
55 return getSessionFromServerManager(props, getAuthenticator());
56 }
57
58 }