Hitachi

Cosminexus V11 アプリケーションサーバ アプリケーション開発ガイド


付録K.3 メッセージの送信

Transportクラスのsendメソッドを使用して,メッセージを送信します。

try {
    Transport.send(msg);
} catch (MessagingException e) {
    // メッセージの送信に失敗した場合
}

また,複数のメッセージを送信する場合は,Transportオブジェクトを作成することで,1接続で複数のメッセージを送信できます。

// Transportクラスのオブジェクトを得る
Transport transport = null;
try {
    transport = session.getTransport("smtp");
} catch (NoSuchProviderException e) {
    // プロバイダが見つからない場合
    // デフォルトの設定ではSMTPプロバイダが設定されているため発生しない
}
try {
    // SMTPサーバへの接続
    transport.connect();
 
    // 送信前に、ヘッダの更新を行う
    msg.saveChanges();
 
    // メッセージの送信
    transport.sendMessage(msg, msg.getAllRecipients());
 
    // 複数のメッセージを送信する場合sendMessage()メソッドを繰り返し呼び出す。 
    // transport.sendMessage(msg2, msg2.getAllRecipients());
    // ...
} catch (MessagingException e) {
    // SMTPサーバへの接続、メッセージの送信失敗時
} finally {
    try{
        // SMTPサーバからの切断
        transport.close();
    }catch(MessagingException e){
        // サーバ切断失敗時    
    }
}