com.sun.mail.smtp
Class SMTPTransport

java.lang.Object
  |
  +--javax.mail.Service
        |
        +--javax.mail.Transport
              |
              +--com.sun.mail.smtp.SMTPTransport

public class SMTPTransport
extends Transport

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.

See Also:
ConnectionEvent, TransportEvent

Constructor Summary
SMTPTransport(Session session, URLName urlname)
          Constructor
 
Method Summary
 void close()
          Close the server and terminate its connection
 void connect()
           
 boolean isConnected()
          Check whether the transport is connected.
 void sendMessage(Message message, Address[] addresses)
          Send the Message to the specified list of addresses.
 
Methods inherited from class javax.mail.Transport
addTransportListener, removeTransportListener, send, send
 
Methods inherited from class javax.mail.Service
addConnectionListener, connect, connect, getURLName, removeConnectionListener, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SMTPTransport

public SMTPTransport(Session session,
                     URLName urlname)
Constructor
Method Detail

connect

public void connect()
             throws MessagingException
Overrides:
connect in class Service

sendMessage

public void sendMessage(Message message,
                        Address[] addresses)
                 throws MessagingException,
                        SendFailedException
Send the Message to the specified list of addresses.

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.

Overrides:
sendMessage in class Transport
Parameters:
message - The MimeMessage to be sent
address - List of addresses to send this message to
Throws:
SendFailedException - 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.
See Also:
TransportEvent

close

public void close()
           throws MessagingException
Close the server and terminate its connection
Overrides:
close in class Service

isConnected

public boolean isConnected()
Check whether the transport is connected. Override superclass method, to actually ping our server connection.
Overrides:
isConnected in class Service