|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.mail.Service | +--javax.mail.Transport | +--com.sun.mail.smtp.SMTPTransport
This class implements the Transport abstract class using SMTP for message submission and transport. See the com.sun.mail.smtp package documentation for further information on the SMTP protocol provider.
ConnectionEvent
,
TransportEvent
Fields inherited from class javax.mail.Service |
debug, session, url |
Constructor Summary | |
SMTPTransport(Session session,
URLName urlname)
Constructor |
Method Summary | |
void |
close()
Close the server and terminate its connection |
void |
connect()
A generic connect method that takes no parameters. |
protected void |
finalize()
Stop the event dispatcher thread so the queue can be garbage collected. |
boolean |
isConnected()
Check whether the transport is connected. |
protected boolean |
protocolConnect(java.lang.String host,
int port,
java.lang.String user,
java.lang.String passwd)
Performs the actual protocol-specific connection attempt. |
void |
sendMessage(Message message,
Address[] addresses)
Send the Message to the specified list of addresses. |
Methods inherited from class javax.mail.Transport |
addTransportListener, notifyTransportListeners, removeTransportListener, send, send |
Methods inherited from class javax.mail.Service |
addConnectionListener, connect, connect, getURLName, notifyConnectionListeners, queueEvent, removeConnectionListener, setConnected, setURLName, toString |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public SMTPTransport(Session session, URLName urlname)
Method Detail |
public void connect() throws MessagingException
Service
If the connection is successful, an "open" ConnectionEvent
is delivered to any ConnectionListeners
on this service.
Most clients should just call this method to connect to the service.
It is an error to connect to an already connected service.
The implementation provided here simply calls the following
connect(String, String, String)
method with nulls.
connect
in class Service
javax.mail.Service
AuthenticationFailedException
- for authentication failuresMessagingException
- for other failuresIllegalStateException
- if the service is already connectedConnectionEvent
protected boolean protocolConnect(java.lang.String host, int port, java.lang.String user, java.lang.String passwd) throws MessagingException
Unless mail.smtp.ehlo is set to false, we'll try to identify ourselves using the ESMTP command EHLO. If mail.smtp.auth is set to true, we insist on having a username and password, and will try to authenticate ourselves if the server supports the AUTH extension (RFC 2554).
protocolConnect
in class Service
host
- the name of the host to connect toport
- the port to use (-1 means use default port)user
- the name of the user to login aspassword
- the user's passwordMessagingException
- for non-authentication failurespublic void sendMessage(Message message, Address[] addresses) throws MessagingException, SendFailedException
If all the addresses
succeed the SMTP check
using the RCPT TO:
command, we attempt to send the message.
A TransportEvent of type MESSAGE_DELIVERED is fired indicating the
successful submission of a message to the SMTP host.
If some of the addresses
fail the SMTP check,
and the mail.stmp.sendpartial
property is not set,
sending is aborted. The TransportEvent of type MESSAGE_NOT_DELIVERED
is fired containing the valid and invalid addresses. The
SendFailedException is also thrown.
If some of the addresses
fail the SMTP check,
and the mail.stmp.sendpartial
property is set to true,
the message is sent. The TransportEvent of type
MESSAGE_PARTIALLY_DELIVERED
is fired containing the valid and invalid addresses. The
SendFailedException is also thrown.
MessagingException is thrown if the message can't write out
an RFC822-compliant stream using its writeTo
method.
sendMessage
in class Transport
message
- The MimeMessage to be sentaddress
- List of addresses to send this message toSendFailedException
- if the send failed because of
invalid addresses.MessagingException
- if the connection is dead
or not in the connected state or if the message is
not a MimeMessage.TransportEvent
public void close() throws MessagingException
close
in class Service
javax.mail.Service
MessagingException
- for errors while closingConnectionEvent
public boolean isConnected()
isConnected
in class Service
javax.mail.Service
protected void finalize() throws java.lang.Throwable
Service
finalize
in class Service
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |