| java.lang.Object org.apache.commons.net.SocketClient org.apache.commons.net.smtp.SMTP
All known Subclasses: org.apache.commons.net.smtp.SMTPClient,
SMTP | public class SMTP extends SocketClient (Code) | | SMTP provides the basic the functionality necessary to implement your
own SMTP client. To derive the full benefits of the SMTP class requires
some knowledge of the FTP protocol defined in RFC 821. However, there
is no reason why you should have to use the SMTP class. The
org.apache.commons.net.smtp.SMTPClient class,
derived from SMTP,
implements all the functionality required of an SMTP client. The
SMTP class is made public to provide access to various SMTP constants
and to make it easier for adventurous programmers (or those with
special needs) to interact with the SMTP protocol and implement their
own clients. A set of methods with names corresponding to the SMTP
command names are provided to facilitate this interaction.
You should keep in mind that the SMTP server may choose to prematurely
close a connection for various reasons. The SMTP class will detect a
premature SMTP server connection closing when it receives a
org.apache.commons.net.smtp.SMTPReply.SERVICE_NOT_AVAILABLE SMTPReply.SERVICE_NOT_AVAILABLE response to a command.
When that occurs, the SMTP class method encountering that reply will throw
an
org.apache.commons.net.smtp.SMTPConnectionClosedException .
SMTPConectionClosedException
is a subclass of IOException and therefore need not be
caught separately, but if you are going to catch it separately, its
catch block must appear before the more general IOException
catch block. When you encounter an
org.apache.commons.net.smtp.SMTPConnectionClosedException , you must disconnect the connection with
org.apache.commons.net.SocketClient.disconnect disconnect() to properly clean up the system resources used by SMTP. Before
disconnecting, you may check the
last reply code and text with
SMTP.getReplyCode getReplyCode ,
SMTP.getReplyString getReplyString ,
and
SMTP.getReplyStrings getReplyStrings .
Rather than list it separately for each method, we mention here that
every method communicating with the server and throwing an IOException
can also throw a
org.apache.commons.net.MalformedServerReplyException , which is a subclass
of IOException. A MalformedServerReplyException will be thrown when
the reply received from the server deviates enough from the protocol
specification that it cannot be interpreted in a useful manner despite
attempts to be as lenient as possible.
author: Daniel F. Savarese See Also: SMTPClient See Also: SMTPConnectionClosedException See Also: org.apache.commons.net.MalformedServerReplyException |
Constructor Summary | |
public | SMTP() The default SMTP constructor. |
Method Summary | |
protected void | _connectAction_() Initiates control connections and gets initial reply. | public void | addProtocolCommandListener(ProtocolCommandListener listener) Adds a ProtocolCommandListener. | public int | data() A convenience method to send the SMTP DATA command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. | public void | disconnect() Closes the connection to the SMTP server and sets to null
some internal data so that the memory may be reclaimed by the
garbage collector. | public int | expn(String name) A convenience method to send the SMTP VRFY command to the server,
receive the reply, and return the reply code.
Parameters: name - The name to expand. | public int | getReply() Fetches a reply from the SMTP server and returns the integer reply
code. | public int | getReplyCode() Returns the integer value of the reply code of the last SMTP reply. | public String | getReplyString() Returns the entire text of the last SMTP server response exactly
as it was received, including all end of line markers in NETASCII
format. | public String[] | getReplyStrings() Returns the lines of text from the last SMTP server response as an array
of strings, one entry per line. | public int | helo(String hostname) A convenience method to send the SMTP HELO command to the server,
receive the reply, and return the reply code.
Parameters: hostname - The hostname of the sender. | public int | help() A convenience method to send the SMTP HELP command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. | public int | help(String command) A convenience method to send the SMTP HELP command to the server,
receive the reply, and return the reply code.
Parameters: command - The command name on which to request help. | public int | mail(String reversePath) A convenience method to send the SMTP MAIL command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. | public int | noop() A convenience method to send the SMTP NOOP command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. | public int | quit() A convenience method to send the SMTP QUIT command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. | public int | rcpt(String forwardPath) A convenience method to send the SMTP RCPT command to the server,
receive the reply, and return the reply code.
Parameters: forwardPath - The forward path. | public void | removeProtocolCommandistener(ProtocolCommandListener listener) Removes a ProtocolCommandListener. | public int | rset() A convenience method to send the SMTP RSET command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. | public int | saml(String reversePath) A convenience method to send the SMTP SAML command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. | public int | send(String reversePath) A convenience method to send the SMTP SEND command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. | public int | sendCommand(String command, String args) Sends an SMTP command to the server, waits for a reply and returns the
numerical response code. | public int | sendCommand(int command, String args) Sends an SMTP command to the server, waits for a reply and returns the
numerical response code. | public int | sendCommand(String command) Sends an SMTP command with no arguments to the server, waits for a
reply and returns the numerical response code. | public int | sendCommand(int command) Sends an SMTP command with no arguments to the server, waits for a
reply and returns the numerical response code. | public int | soml(String reversePath) A convenience method to send the SMTP SOML command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. | public int | turn() A convenience method to send the SMTP TURN command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. | public int | vrfy(String user) A convenience method to send the SMTP VRFY command to the server,
receive the reply, and return the reply code.
Parameters: user - The user address to verify. |
DEFAULT_PORT | final public static int DEFAULT_PORT(Code) | | The default SMTP port (25). **
|
_commandSupport_ | protected ProtocolCommandSupport _commandSupport_(Code) | | A ProtocolCommandSupport object used to manage the registering of
ProtocolCommandListeners and te firing of ProtocolCommandEvents.
|
_newReplyString | boolean _newReplyString(Code) | | |
_replyCode | int _replyCode(Code) | | |
SMTP | public SMTP()(Code) | | The default SMTP constructor. Sets the default port to
DEFAULT_PORT and initializes internal data structures
for saving SMTP reply information.
|
_connectAction_ | protected void _connectAction_() throws IOException(Code) | | Initiates control connections and gets initial reply. **
|
addProtocolCommandListener | public void addProtocolCommandListener(ProtocolCommandListener listener)(Code) | | Adds a ProtocolCommandListener. Delegates this task to
SMTP._commandSupport_ _commandSupport_ .
Parameters: listener - The ProtocolCommandListener to add. |
data | public int data() throws IOException(Code) | | A convenience method to send the SMTP DATA command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
disconnect | public void disconnect() throws IOException(Code) | | Closes the connection to the SMTP server and sets to null
some internal data so that the memory may be reclaimed by the
garbage collector. The reply text and code information from the
last command is voided so that the memory it used may be reclaimed.
exception: IOException - If an error occurs while disconnecting. |
expn | public int expn(String name) throws IOException(Code) | | A convenience method to send the SMTP VRFY command to the server,
receive the reply, and return the reply code.
Parameters: name - The name to expand. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
getReply | public int getReply() throws IOException(Code) | | Fetches a reply from the SMTP server and returns the integer reply
code. After calling this method, the actual reply text can be accessed
from either calling
SMTP.getReplyString getReplyString or
SMTP.getReplyStrings getReplyStrings . Only use this
method if you are implementing your own SMTP client or if you need to
fetch a secondary response from the SMTP server.
The integer value of the reply code of the fetched SMTP reply. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while receiving theserver reply. |
getReplyCode | public int getReplyCode()(Code) | | Returns the integer value of the reply code of the last SMTP reply.
You will usually only use this method after you connect to the
SMTP server to check that the connection was successful since
connect is of type void.
The integer value of the reply code of the last SMTP reply. |
getReplyString | public String getReplyString()(Code) | | Returns the entire text of the last SMTP server response exactly
as it was received, including all end of line markers in NETASCII
format.
The entire text from the last SMTP response as a String. |
getReplyStrings | public String[] getReplyStrings()(Code) | | Returns the lines of text from the last SMTP server response as an array
of strings, one entry per line. The end of line markers of each are
stripped from each line.
The lines of text from the last SMTP response as an array. |
helo | public int helo(String hostname) throws IOException(Code) | | A convenience method to send the SMTP HELO command to the server,
receive the reply, and return the reply code.
Parameters: hostname - The hostname of the sender. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
help | public int help() throws IOException(Code) | | A convenience method to send the SMTP HELP command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
help | public int help(String command) throws IOException(Code) | | A convenience method to send the SMTP HELP command to the server,
receive the reply, and return the reply code.
Parameters: command - The command name on which to request help. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
mail | public int mail(String reversePath) throws IOException(Code) | | A convenience method to send the SMTP MAIL command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
noop | public int noop() throws IOException(Code) | | A convenience method to send the SMTP NOOP command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
quit | public int quit() throws IOException(Code) | | A convenience method to send the SMTP QUIT command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
rcpt | public int rcpt(String forwardPath) throws IOException(Code) | | A convenience method to send the SMTP RCPT command to the server,
receive the reply, and return the reply code.
Parameters: forwardPath - The forward path. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
removeProtocolCommandistener | public void removeProtocolCommandistener(ProtocolCommandListener listener)(Code) | | Removes a ProtocolCommandListener. Delegates this task to
SMTP._commandSupport_ _commandSupport_ .
Parameters: listener - The ProtocolCommandListener to remove. |
rset | public int rset() throws IOException(Code) | | A convenience method to send the SMTP RSET command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
saml | public int saml(String reversePath) throws IOException(Code) | | A convenience method to send the SMTP SAML command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
send | public int send(String reversePath) throws IOException(Code) | | A convenience method to send the SMTP SEND command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
sendCommand | public int sendCommand(String command, String args) throws IOException(Code) | | Sends an SMTP command to the server, waits for a reply and returns the
numerical response code. After invocation, for more detailed
information, the actual reply text can be accessed by calling
SMTP.getReplyString getReplyString or
SMTP.getReplyStrings getReplyStrings .
Parameters: command - The text representation of the SMTP command to send. Parameters: args - The arguments to the SMTP command. If this parameter isset to null, then the command is sent with no argument. The integer value of the SMTP reply code returned by the serverin response to the command. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
sendCommand | public int sendCommand(int command, String args) throws IOException(Code) | | Sends an SMTP command to the server, waits for a reply and returns the
numerical response code. After invocation, for more detailed
information, the actual reply text can be accessed by calling
SMTP.getReplyString getReplyString or
SMTP.getReplyStrings getReplyStrings .
Parameters: command - The SMTPCommand constant corresponding to the SMTP commandto send. Parameters: args - The arguments to the SMTP command. If this parameter isset to null, then the command is sent with no argument. The integer value of the SMTP reply code returned by the serverin response to the command. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
sendCommand | public int sendCommand(String command) throws IOException(Code) | | Sends an SMTP command with no arguments to the server, waits for a
reply and returns the numerical response code. After invocation, for
more detailed information, the actual reply text can be accessed by
calling
SMTP.getReplyString getReplyString or
SMTP.getReplyStrings getReplyStrings .
Parameters: command - The text representation of the SMTP command to send. The integer value of the SMTP reply code returned by the serverin response to the command. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
sendCommand | public int sendCommand(int command) throws IOException(Code) | | Sends an SMTP command with no arguments to the server, waits for a
reply and returns the numerical response code. After invocation, for
more detailed information, the actual reply text can be accessed by
calling
SMTP.getReplyString getReplyString or
SMTP.getReplyStrings getReplyStrings .
Parameters: command - The SMTPCommand constant corresponding to the SMTP commandto send. The integer value of the SMTP reply code returned by the serverin response to the command. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
soml | public int soml(String reversePath) throws IOException(Code) | | A convenience method to send the SMTP SOML command to the server,
receive the reply, and return the reply code.
Parameters: reversePath - The reverese path. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
turn | public int turn() throws IOException(Code) | | A convenience method to send the SMTP TURN command to the server,
receive the reply, and return the reply code.
The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
vrfy | public int vrfy(String user) throws IOException(Code) | | A convenience method to send the SMTP VRFY command to the server,
receive the reply, and return the reply code.
Parameters: user - The user address to verify. The reply code received from the server. exception: SMTPConnectionClosedException - If the SMTP server prematurely closes the connection as a resultof the client being idle or some other reason causing the serverto send SMTP reply code 421. This exception may be caught eitheras an IOException or independently as itself. exception: IOException - If an I/O error occurs while either sending thecommand or receiving the server reply. |
Methods inherited from org.apache.commons.net.SocketClient | protected void _connectAction_() throws IOException(Code)(Java Doc) public void connect(InetAddress host, int port) throws SocketException, IOException(Code)(Java Doc) public void connect(String hostname, int port) throws SocketException, IOException(Code)(Java Doc) public void connect(InetAddress host, int port, InetAddress localAddr, int localPort) throws SocketException, IOException(Code)(Java Doc) public void connect(String hostname, int port, InetAddress localAddr, int localPort) throws SocketException, IOException(Code)(Java Doc) public void connect(InetAddress host) throws SocketException, IOException(Code)(Java Doc) public void connect(String hostname) throws SocketException, IOException(Code)(Java Doc) public void disconnect() throws IOException(Code)(Java Doc) public int getDefaultPort()(Code)(Java Doc) public int getDefaultTimeout()(Code)(Java Doc) public InetAddress getLocalAddress()(Code)(Java Doc) public int getLocalPort()(Code)(Java Doc) public InetAddress getRemoteAddress()(Code)(Java Doc) public int getRemotePort()(Code)(Java Doc) public int getSoLinger() throws SocketException(Code)(Java Doc) public int getSoTimeout() throws SocketException(Code)(Java Doc) public boolean getTcpNoDelay() throws SocketException(Code)(Java Doc) public boolean isConnected()(Code)(Java Doc) public void setDefaultPort(int port)(Code)(Java Doc) public void setDefaultTimeout(int timeout)(Code)(Java Doc) public void setSoLinger(boolean on, int val) throws SocketException(Code)(Java Doc) public void setSoTimeout(int timeout) throws SocketException(Code)(Java Doc) public void setSocketFactory(SocketFactory factory)(Code)(Java Doc) public void setTcpNoDelay(boolean on) throws SocketException(Code)(Java Doc) public boolean verifyRemote(Socket socket)(Code)(Java Doc)
|
|
|