クラス Transport
- java.lang.ObjectSE
-
- jakarta.mail.Service
-
- jakarta.mail.Transport
- 実装されたすべてのインターフェース:
AutoCloseableSE
public abstract class Transport extends Service
メッセージ転送をモデル化する抽象クラス。サブクラスは実際の実装を提供します。Transport
はService
クラスを継承することに注意してください。これは、トランスポートの命名、トランスポートへの接続、接続イベントのリスニングのための多くの一般的なメソッドを提供します。- 作成者:
- John Mani, Max Spivak, Bill Shannon
- 関連事項:
Service
,ConnectionEvent
,TransportEvent
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 void
addTransportListener(TransportListener l)
Transport イベントのリスナーを追加します。protected void
notifyTransportListeners(int type, Address[] validSent, Address[] validUnsent, Address[] invalid, Message msg)
すべての TransportListeners に通知します。void
removeTransportListener(TransportListener l)
Transport イベントのリスナーを削除します。static void
send(Message msg)
メッセージを送る。static void
send(Message msg, Address[] addresses)
メッセージ自体で指定された受信者を無視して、指定されたアドレスにメッセージを送信します。static void
send(Message msg, Address[] addresses, StringSE user, StringSE password)
メッセージ自体で指定された受信者を無視して、指定されたアドレスにメッセージを送信します。static void
send(Message msg, StringSE user, StringSE password)
メッセージを送る。abstract void
sendMessage(Message msg, Address[] addresses)
指定されたアドレスのリストにメッセージを送信します。クラス jakarta.mail.Service から継承されたメソッド
addConnectionListener, close, connect, connect, connect, connect, finalize, getURLName, isConnected, notifyConnectionListeners, protocolConnect, queueEvent, removeConnectionListener, setConnected, setURLName, toString
メソッドの詳細
send
public static void send(Message msg) throws MessagingException
メッセージを送る。メッセージは、各アドレスに適したメッセージ転送を使用して、メッセージで指定されたすべての受信者アドレス(Message
メソッドgetAllRecipients
から返される)に送信されます。send
メソッドは、メッセージを送信する前にsaveChanges
メソッドを呼び出します。メッセージの送信中にトランスポートによって受信者アドレスのいずれかが無効であることが検出されると、SendFailedException がスローされます。クライアントは、例外を調べることにより、障害の詳細を知ることができます。メッセージが有効なアドレスに正常に送信されるかどうかは、トランスポートの実装によって異なります。詳細については、SendFailedException を参照してください。また、配信の後の段階でエラーが発生する可能性があるため、成功しても、メッセージが最終的な受信者に配信されたことを意味するわけではありません。トランスポートが受信者への配信のためにメッセージを受け入れると、後で発生する障害は、配信不能メッセージを返すなど、別のメカニズムを介してユーザーに報告する必要があります。
通常の使用では、SendFailedException はサーバーによって検出されたエラーを反映します。SendFailedException の詳細には、通常、サーバーからのエラーメッセージ(SMTP エラーメッセージなど)が含まれます。アドレスは、さまざまな理由で無効として検出される可能性があります。アドレスが存在しない、アドレスの構文が無効である、アドレスがクォータを超えているなどの可能性があります。
send
は、独自の接続を作成および管理する静的メソッドであることに注意してください。このメソッドの呼び出しに使用されるトランスポートインスタンスに関連付けられている接続は無視され、使用されません。このメソッドは、Transport.send(msg);
の形式を使用してのみ呼び出す必要があり、インスタンス変数を使用して呼び出すことはできません。- パラメーター:
msg
- 送信するメッセージ- 例外:
SendFailedException
- 一部またはすべての受信者にメッセージを送信できなかった場合。MessagingException
- その他の障害の場合- 関連事項:
Message.saveChanges()
,Message.getAllRecipients()
,send(Message, Address[])
,SendFailedException
send
public static void send(Message msg, Address[] addresses) throws MessagingException
メッセージ自体で指定された受信者を無視して、指定されたアドレスにメッセージを送信します。send
メソッドは、メッセージを送信する前にメッセージに対してsaveChanges
メソッドを呼び出します。- パラメーター:
msg
- 送信するメッセージaddresses
- メッセージの送信先のアドレス- 例外:
SendFailedException
- 一部またはすべての受信者にメッセージを送信できなかった場合。MessagingException
- その他の障害の場合- 関連事項:
Message.saveChanges()
,send(Message)
,SendFailedException
send
public static void send(Message msg, StringSE user, StringSE password) throws MessagingException
メッセージを送る。メッセージは、メッセージで指定されたすべての受信者アドレスに送信されます(Message
メソッドgetAllRecipients
から返されます)。send
メソッドは、メッセージを送信する前にsaveChanges
メソッドを呼び出します。指定されたユーザー名とパスワードを使用して、メールサーバーへの認証を行います。
- パラメーター:
msg
- 送信するメッセージuser
- ユーザー名password
- このユーザーのパスワード- 例外:
SendFailedException
- 一部またはすべての受信者にメッセージを送信できなかった場合。MessagingException
- その他の障害の場合- 導入:
- JavaMail 1.5
- 関連事項:
Message.saveChanges()
,send(Message)
,SendFailedException
send
public static void send(Message msg, Address[] addresses, StringSE user, StringSE password) throws MessagingException
メッセージ自体で指定された受信者を無視して、指定されたアドレスにメッセージを送信します。send
メソッドは、メッセージを送信する前にメッセージに対してsaveChanges
メソッドを呼び出します。指定されたユーザー名とパスワードを使用して、メールサーバーへの認証を行います。
- パラメーター:
msg
- 送信するメッセージaddresses
- メッセージの送信先のアドレスuser
- ユーザー名password
- このユーザーのパスワード- 例外:
SendFailedException
- 一部またはすべての受信者にメッセージを送信できなかった場合。MessagingException
- その他の障害の場合- 導入:
- JavaMail 1.5
- 関連事項:
Message.saveChanges()
,send(Message)
,SendFailedException
sendMessage
public abstract void sendMessage(Message msg, Address[] addresses) throws MessagingException
指定されたアドレスのリストにメッセージを送信します。配信ステータスを示す適切な TransportEvent は、このトランスポートに登録されているすべての TransportListener に配信されます。また、いずれかのアドレスが無効な場合、SendFailedException がスローされます。メッセージが引き続き有効なアドレスに正常に送信されるかどうかは、トランスポートの実装によって異なります。静的
send
メソッドとは異なり、sendMessage
メソッドはメッセージのsaveChanges
メソッドを呼び出しません。呼び出し元はそうする必要があります。- パラメーター:
msg
- 送信するメッセージaddresses
- このメッセージを送信するアドレスの配列- 例外:
SendFailedException
- 無効なアドレスのために送信が失敗した場合。MessagingException
- 接続が切断されているか、接続状態でないか- 関連事項:
TransportEvent
addTransportListener
public void addTransportListener(TransportListener l)
Transport イベントのリスナーを追加します。ここで提供されるデフォルトの実装は、このリスナーを TransportListeners の内部リストに追加します。
- パラメーター:
l
- Transport イベントのリスナー- 関連事項:
TransportEvent
removeTransportListener
public void removeTransportListener(TransportListener l)
Transport イベントのリスナーを削除します。ここで提供されるデフォルトの実装は、このリスナーを TransportListeners の内部リストから削除します。
- パラメーター:
l
- リスナー- 関連事項:
addTransportListener(jakarta.mail.event.TransportListener)
notifyTransportListeners
protected void notifyTransportListeners(int type, Address[] validSent, Address[] validUnsent, Address[] invalid, Message msg)
すべての TransportListeners に通知します。トランスポート実装は、このメソッドを使用して TransportEvents をブロードキャストすることが期待されています。提供されているデフォルトの実装は、イベントを内部イベントキューに入れます。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された TransportListeners にディスパッチします。イベントのディスパッチは別のスレッドで行われるため、潜在的なデッドロックの問題を回避できることに注意してください。
- パラメーター:
type
- TransportEvent 型validSent
- メッセージが送信された有効なアドレスvalidUnsent
- メッセージが送信されなかった有効なアドレスinvalid
- 無効なアドレスmsg
- メッセージ