|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.mailster.smtp.api.listener.MessageListenerAdapter
org.mailster.server.MailsterSMTPServer
public class MailsterSMTPServer
---
Mailster (C) 2007-2009 De Oliveira Edouard
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
See Mailster
Web Site
---
MailsterSMTPServer.java - The smtp server.
| Nested Class Summary | |
|---|---|
(package private) class |
MailsterSMTPServer.EmailReceivedTask
Task event dispatched when an email has been received. |
(package private) class |
MailsterSMTPServer.ServerStateUpdatedTask
Task event dispatched when server state has been updated. |
| Field Summary | |
|---|---|
private int |
connectionTimeout
The timeout before closing connection. |
private boolean |
debug
Output client/server commands for debugging. |
static java.lang.String |
DEFAULT_SMTP_HOST
Defaut SMTP host is null to listen on all subnets. |
static int |
DEFAULT_SMTP_PORT
Default SMTP port is 25. |
static int |
DEFAULT_TIMEOUT
The default timeout. |
private MailsterSMTPServer.EmailReceivedTask |
emailTask
The email received event task. |
private java.util.concurrent.Executor |
eventDispatcher
The event dispatcher executor. |
private java.util.Collection<SMTPServerListener> |
externalListeners
The list of smtp server events listeners. |
private java.lang.String |
hostName
Hostname the server listens on. |
private int |
port
Port the server listens on - set to the default SMTP port initially. |
private org.mailster.smtp.SMTPServer |
server
The SubethaSmtp server. |
private MailsterSMTPServer.ServerStateUpdatedTask |
serverStateTask
The server state updated event task. |
| Constructor Summary | |
|---|---|
MailsterSMTPServer()
Creates an instance of SimpleSmtpServer. |
|
MailsterSMTPServer(boolean debug)
Creates an instance of SimpleSmtpServer. |
|
MailsterSMTPServer(int port)
Creates an instance of SimpleSmtpServer. |
|
MailsterSMTPServer(int port,
boolean debug)
Creates an instance of SimpleSmtpServer. |
|
MailsterSMTPServer(java.lang.String hostname,
int port,
boolean debug)
Creates an instance of SimpleSmtpServer. |
|
| Method Summary | |
|---|---|
void |
addSMTPServerListener(SMTPServerListener listener)
|
private java.util.ArrayList<SMTPServerListener> |
copyListeners()
|
void |
deliver(java.lang.String from,
java.util.List<java.lang.String> recipients,
java.io.InputStream data)
|
private void |
fireMessageReceived(SmtpMessage msg)
|
private void |
fireServerStateUpdated()
|
int |
getConnectionTimeout()
|
int |
getPort()
|
boolean |
isDebug()
|
boolean |
isStopped()
Check if the server has been placed in a stopped state. |
void |
removeSMTPServerListener(SMTPServerListener listener)
|
void |
setConnectionTimeout(int connectionTimeout)
|
void |
setDebug(boolean debug)
|
void |
setHostName(java.lang.String hostName)
|
void |
setPort(int port)
|
static void |
setupSSLParameters(X509SecureSocketFactory.SSLProtocol protocol,
boolean clientAuthNeeded)
|
void |
start()
Starts an instance of SimpleSmtpServer. |
void |
stop()
Stops the server. |
| Methods inherited from class org.mailster.smtp.api.listener.MessageListenerAdapter |
|---|
accept, deliver |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int DEFAULT_TIMEOUT
public static final java.lang.String DEFAULT_SMTP_HOST
InetSocketAddresspublic static final int DEFAULT_SMTP_PORT
private int connectionTimeout
private boolean debug
private int port
private java.lang.String hostName
private org.mailster.smtp.SMTPServer server
private java.util.Collection<SMTPServerListener> externalListeners
private java.util.concurrent.Executor eventDispatcher
private MailsterSMTPServer.EmailReceivedTask emailTask
private MailsterSMTPServer.ServerStateUpdatedTask serverStateTask
| Constructor Detail |
|---|
public MailsterSMTPServer()
public MailsterSMTPServer(boolean debug)
debug - if true debug mode is enabledpublic MailsterSMTPServer(int port)
port - port number the server should listen to
public MailsterSMTPServer(int port,
boolean debug)
port - port number the server should listen todebug - if true debug mode is enabled
public MailsterSMTPServer(java.lang.String hostname,
int port,
boolean debug)
hostname - hostname the server should listen onport - port number the server should listen todebug - if true debug mode is enabled| Method Detail |
|---|
public static void setupSSLParameters(X509SecureSocketFactory.SSLProtocol protocol,
boolean clientAuthNeeded)
public void start()
public void stop()
public void addSMTPServerListener(SMTPServerListener listener)
public void removeSMTPServerListener(SMTPServerListener listener)
public boolean isStopped()
public void deliver(java.lang.String from,
java.util.List<java.lang.String> recipients,
java.io.InputStream data)
throws org.mailster.smtp.api.TooMuchDataException,
java.io.IOException
org.mailster.smtp.api.TooMuchDataException
java.io.IOExceptionprivate java.util.ArrayList<SMTPServerListener> copyListeners()
private void fireMessageReceived(SmtpMessage msg)
private void fireServerStateUpdated()
public boolean isDebug()
public void setDebug(boolean debug)
public void setHostName(java.lang.String hostName)
public int getPort()
public void setPort(int port)
public int getConnectionTimeout()
public void setConnectionTimeout(int connectionTimeout)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||