パッケージ jakarta.mail

クラス Transport

  • 実装されたすべてのインターフェース:
    AutoCloseableSE

    public abstract class Transport
    extends Service
    メッセージ転送をモデル化する抽象クラス。サブクラスは実際の実装を提供します。

    Transport は Service クラスを継承することに注意してください。これは、トランスポートの命名、トランスポートへの接続、接続イベントのリスニングのための多くの一般的なメソッドを提供します。

    作成者:
    John Mani, Max Spivak, Bill Shannon
    関連事項:
    Service, ConnectionEvent, TransportEvent
    • コンストラクターの詳細

      • Transport

        public Transport​(Session session,
                         URLName urlname)
        コンストラクター。
        パラメーター:
        session - このトランスポートのセッションオブジェクト。
        urlname - このトランスポートに使用される URLName オブジェクト
    • メソッドの詳細

      • 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 - メッセージ