java.lang.Object | +--javax.mail.Service | +--javax.mail.Transport
An abstract class that models a message transport. Subclasses provide actual implementations.
Note thatTransport
extends theService
class, which provides many common methods for naming transports, connecting to transports, and listening to connection events.
Service
,ConnectionEvent
,TransportEvent
Fields inherited from class javax.mail.Service |
debug,session,url |
Transport(Session session,URLName urlname) Constructor. |
addTransportListener(TransportListener l) Add a listener for Transport events. | |
notifyTransportListeners(int type,Address[] validSent,Address[] validUnsent,Address[] invalid,Message msg) Notify all TransportListeners. | |
removeTransportListener(TransportListener l) Remove a listener for Transport events. | |
send(Message msg) Send a message. | |
send(Message msg,Address[] addresses) Send the message to the specified addresses, ignoring any recipients specified in the message itself. | |
sendMessage(Message msg,Address[] addresses) Send the Message to the specified list of addresses. |
Methods inherited from class javax.mail.Service |
addConnectionListener,close,connect,connect,connect,finalize,getURLName,isConnected,notifyConnectionListeners,protocolConnect,queueEvent,removeConnectionListener,setConnected,setURLName,toString |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
publicTransport(Session session,URLName urlname)
session
- Session object for this Transport.urlName
- URLName object to be used for this Transportpublic static voidsend(Message msg) throwsMessagingException
Message
methodgetAllRecipients
), using message transports appropriate to each address. Thesend
method calls thesaveChanges
method on the message before sending it.If any of the recipient addresses is invalid, 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.
msg
- the message to sendSendFailedException
- if the message could notbe sent to some or any of the recipients.MessagingException
- Message.saveChanges()
,Message.getAllRecipients()
,send(Message, Address[])
,SendFailedException
public static voidsend(Message msg,Address[] addresses) throwsMessagingException
send
method calls thesaveChanges
method on the message before sending it.msg
- the message to sendaddresses
- the addresses to which to send the messageSendFailedException
- if the message could notbe sent to some or any of the recipients.MessagingException
- Message.saveChanges()
,send(Message)
,SendFailedException
public abstract voidsendMessage(Message msg,Address[] addresses) throwsMessagingException
Unlike the staticsend
method, thesendMessage
method doesnot call thesaveChanges
method on the message; the caller should do so.
Message
- The Message to be sentaddress
- List of addresses to send this message toSendFailedException
- if the send failed because ofinvalid addresses.MessagingException
- if the connection is dead or not in the connected stateTransportEvent
public voidaddTransportListener(TransportListener l)
The default implementation provided here adds this listener to an internal list of TransportListeners.
l
- the Listener for Transport eventsTransportEvent
public voidremoveTransportListener(TransportListener l)
The default implementation provided here removes this listener from the internal list of TransportListeners.
l
- the listeneraddTransportListener(javax.mail.event.TransportListener)
protected voidnotifyTransportListeners(int type,Address[] validSent,Address[] validUnsent,Address[] invalid,Message msg)
The provided default implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the registered TransportListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.