66 lines
1.9 KiB
Java
66 lines
1.9 KiB
Java
package davmail;
|
|
|
|
import davmail.pop.PopServer;
|
|
import davmail.smtp.SmtpServer;
|
|
|
|
/**
|
|
* DavGateway main class
|
|
*/
|
|
public class DavGateway {
|
|
protected static SmtpServer smtpServer;
|
|
protected static PopServer popServer;
|
|
|
|
/**
|
|
* Start the gateway, listen on spécified smtp and pop3 ports
|
|
*/
|
|
public static void main(String[] args) {
|
|
|
|
String configFilePath = System.getProperty("user.home") + "/.davmail.properties";
|
|
if (args.length >= 1) {
|
|
configFilePath = args[0];
|
|
}
|
|
Settings.setConfigFilePath(configFilePath);
|
|
Settings.load();
|
|
DavGatewayTray.init();
|
|
|
|
start();
|
|
}
|
|
|
|
public static void start() {
|
|
// first stop existing servers
|
|
if (smtpServer != null) {
|
|
smtpServer.close();
|
|
try {
|
|
smtpServer.join();
|
|
} catch (InterruptedException e) {
|
|
DavGatewayTray.warn("Exception waiting for listener to die", e);
|
|
}
|
|
}
|
|
if (popServer != null) {
|
|
popServer.close();
|
|
try {
|
|
popServer.join();
|
|
} catch (InterruptedException e) {
|
|
DavGatewayTray.warn("Exception waiting for listener to die", e);
|
|
}
|
|
}
|
|
int smtpPort = Settings.getIntProperty("davmail.smtpPort");
|
|
if (smtpPort == 0) {
|
|
smtpPort = SmtpServer.DEFAULT_PORT;
|
|
}
|
|
int popPort = Settings.getIntProperty("davmail.popPort");
|
|
if (popPort == 0) {
|
|
popPort = PopServer.DEFAULT_PORT;
|
|
}
|
|
smtpServer = new SmtpServer(smtpPort);
|
|
popServer = new PopServer(popPort);
|
|
smtpServer.start();
|
|
popServer.start();
|
|
|
|
DavGatewayTray.info("DavMail gateway listening on SMTP port " + smtpPort +
|
|
" and POP port " + popPort);
|
|
|
|
}
|
|
|
|
}
|