⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
javax.mail

Class Transport

java.lang.Object
|
+--javax.mail.Service
   |
   +--javax.mail.Transport

Known Direct Subclasses:
NNTPTransport, SMTPTransport


public abstract class Transport
extends Service

An abstract class that models a message transport. Subclasses provide actual implementations.

Note that Transport extends the Service class, which provides many common methods for naming transports, connecting to transports, and listening to connection events.

Author:

Constructor Summary

Transport(Session session, URLName url)

Constructor.

Method Summary

void

addTransportListener(TransportListener l)

Add a listener for Transport events.

void

notifyTransportListeners(int type, Address validSent, Address validUnsent, Address invalid, Message msg)

Notify all TransportListeners.

void

removeTransportListener(TransportListener l)

Remove a listener for Transport events.

static void

send(Message msg)

Send a message.

static void

send(Message msg, Address addresses)

Send the message to the specified addresses, ignoring any recipients specified in the message itself.

void

sendMessage(Message msg, Address addresses)

Send the Message to the specified list of addresses.

Constructor Details

Transport

public Transport(Session session, URLName url)

Constructor.

Parameters:
session - Session object for this Transport.
url - URLName object to be used for this Transport

Method Details

addTransportListener

public void addTransportListener(TransportListener l)

Add a listener for Transport events.

Parameters:
l

notifyTransportListeners

protected void notifyTransportListeners(int type, Address validSent, Address validUnsent, Address invalid, Message msg)

Notify all TransportListeners. Transport implementations are expected to use this method to broadcast TransportEvents.

Parameters:
type
validSent
validUnsent
invalid
msg

removeTransportListener

public void removeTransportListener(TransportListener l)

Remove a listener for Transport events.

Parameters:
l

send

public static void send(Message msg)

Send a message. The message will be sent to all recipient addresses specified in the message (as returned from the Message method getAllRecipients), using message transports appropriate to each address. The send method calls the saveChanges method on the message before sending it.

If any of the recipient addresses is detected to be invalid by the Transport during message submission, a SendFailedException is thrown. Clients can get more detail about the failure by examining the exception. Whether or not the message is still sent succesfully to any valid addresses depends on the Transport implementation. See SendFailedException for more details. Note also that success does not imply that the message was delivered to the ultimate recipient, as failures may occur in later stages of delivery. Once a Transport accepts a message for delivery to a recipient, failures that occur later should be reported to the user via another mechanism, such as returning the undeliverable message.

Parameters:
msg - the message to send
Throws:
SendFailedException - if the message could not be sent to some or any of the recipients.

send

public static void send(Message msg, Address addresses)

Send the message to the specified addresses, ignoring any recipients specified in the message itself. The send method calls the saveChanges method on the message before sending it.

Parameters:
msg - the message to send
addresses - the addresses to which to send the message
Throws:
SendFailedException - if the message could not be sent to some or any of the recipients.

sendMessage

public void sendMessage(Message msg, Address addresses)

Send the Message to the specified list of addresses. An appropriate TransportEvent indicating the delivery status is delivered to any TransportListener registered on this Transport. Also, if any of the addresses is invalid, a SendFailedException is thrown. Note however, that the message is sent to the valid addresses.

Unlike the static send method, the sendMessage method does not call the saveChanges method on the message; the caller should do so.

Parameters:
msg - The Message to be sent
addresses - 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