パッケージ org.opengion.fukurou.mail

クラス MailMessage


  • public class MailMessage
    extends Object
    MailMessage は、受信メールを処理するためのラッパークラスです。 メッセージオブジェクトを引数にとるコンストラクタによりオブジェクトが作成されます。 日本語処置などを簡易的に扱えるように、ラッパクラス的な使用方法を想定しています。 必要であれば(例えば、添付ファイルを取り出すために、MailAttachFiles を利用する場合など) 内部のメッセージオブジェクトを取り出すことが可能です。 MailReceiveListener クラスの receive( MailMessage ) メソッドで、メールごとにイベントが 発生して、処理する形態が一般的です。
    バージョン
    4.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

      • MailMessage

        public MailMessage​(javax.mail.Message message,
                           String host,
                           String user)
        メッセージオブジェクトを指定して構築します。
        パラメータ:
        message - メッセージオブジェクト
        host - ホスト
        user - ユーザー
        変更履歴:
        6.4.3.1 (2016/02/12) Collections.synchronizedMap で同期処理を行います。
    • メソッドの詳細

      • getMessage

        public javax.mail.Message getMessage()
        内部の メッセージオブジェクトを返します。
        戻り値:
        メッセージオブジェクト
      • getHost

        public String getHost()
        内部の ホスト名を返します。
        戻り値:
        ホスト名
      • getUser

        public String getUser()
        内部の ユーザー名を返します。
        戻り値:
        ユーザー名
      • getHeader

        public String getHeader​(String key)
        メールのヘッダー情報を文字列に変換して返します。 キーは、ヘッダー情報の取り出しと同一です。 例) Return-Path,Delivered-To,Date,From,To,Cc,Subject,Content-Type,Message-Id
        パラメータ:
        key - メールのヘッダーキー
        戻り値:
        キーに対するメールのヘッダー情報
      • getHeaders

        public String getHeaders()
        メールの指定のヘッダー情報を文字列に変換して返します。 ヘッダー情報の取り出しキーと同一の項目を リターンコードで結合しています。 Return-Path,Delivered-To,Date,From,To,Cc,Subject,Content-Type,Message-Id
        戻り値:
        メールの指定のヘッダー情報
        このメソッドは、nullを返しません
      • getSubject

        public String getSubject()
        メールのタイトル(Subject)を返します。 日本語文字コード処理も行っています。(JIS→unicode変換等)
        戻り値:
        メールのタイトル
        変更履歴:
        4.3.3.5 (2008/11/08) 日本語MIMEエンコードされた文字列を mimeDecode でデコードします。
      • getContent

        public String getContent()
        メールの本文(Content)を返します。 日本語文字コード処理も行っています。(JIS→unicode変換等)
        戻り値:
        メールの本文
      • getMessageID

        public String getMessageID()
        メッセージID を取得します。 基本的には、メッセージIDをそのまま(前後の >, <)は取り除きます。 メッセージIDのないメールは、"unknown." + SentData + "." + From という文字列を 作成します。 さらに、送信日やFrom がない場合、または、文字列として取り出せない場合、 "unknown" を返します。
        戻り値:
        メッセージID
        変更履歴:
        4.3.3.5 (2008/11/08) 送信時刻がNULLの場合の処理を追加
      • deleteMessage

        public void deleteMessage​(boolean flag)
        メッセージをメールサーバーから削除するかどうかをセットします。
        パラメータ:
        flag - 削除するかどうか [true:行う/false:行わない]
      • getSimpleMessage

        public String getSimpleMessage()
        メールの内容を文字列として表現します。 デバッグや、簡易的なメールの内容の取り出し、エラー時のメール保存に使用します。
        戻り値:
        メールの内容の文字列表現
        このメソッドは、nullを返しません
      • saveSimpleMessage

        public void saveSimpleMessage​(String dir)
        メールの内容と、あれば添付ファイルを指定のフォルダにセーブします。 saveMessage( dir )と、saveAttachFiles( dir,true ) を同時に呼び出しています。
        パラメータ:
        dir - メールと添付ファイルをセーブするフォルダ
      • saveMessage

        public void saveMessage​(String dir)
        メールの内容を文字列として指定のフォルダにセーブします。 メッセージID.txt という本文にセーブします。 デバッグや、簡易的なメールの内容の取り出し、エラー時のメール保存に使用します。
        パラメータ:
        dir - メールの内容をセーブするフォルダ
      • saveAttachFiles

        public void saveAttachFiles​(String dir,
                                    boolean useMsgId)
        メールの添付ファイルが存在する場合に、指定のフォルダにセーブします。 添付ファイルが存在する場合のみ、処理を実行します。 useMsgId にtrue を設定すると、メッセージID というフォルダを作成し、その下に、 連番 + "_" + 添付ファイル名 でセーブします。(メールには同一ファイル名を複数添付できる為) false の場合は、指定のディレクトリ直下に、連番 + "_" + 添付ファイル名 でセーブします。
        パラメータ:
        dir - 添付ファイルをセーブするフォルダ
        useMsgId - メッセージIDフォルダを作成してセーブ場合:true 指定のディレクトリ直下にセーブする場合:false
        変更履歴:
        4.3.3.5 (2008/11/08) ディレクトリ指定時のセパレータのチェックを追加
      • getNotificationTo

        public String getNotificationTo()
        受領確認がセットされている場合の 返信先アドレスを返します。 セットされていない場合は、null を返します。 受領確認は、Disposition-Notification-To ヘッダにセットされる事とし、 このヘッダの内容を返します。セットされていなければ、null を返します。
        戻り値:
        返信先アドレス(Disposition-Notification-To ヘッダの内容)
      • mimeDecode

        public static final String mimeDecode​(String text)
        エンコードされた文字列を、デコードします。 MIMEエンコード は、 =? で開始するエンコード文字列 ですが、場合によって、前のスペースが 存在しない場合があります。 また、メーラーによっては、エンコード文字列を ダブルコーテーションでくくる処理が入っている 場合もあります。 これらの一連のエンコード文字列をデコードします。
        パラメータ:
        text - エンコードされた文字列(されていない場合は、そのまま返します)
        戻り値:
        デコードされた文字列
        変更履歴:
        4.3.3.5 (2008/11/08) 日本語MIMEエンコードされた文字列をデコードします。