クラス MailMessage
java.lang.Object
org.opengion.fukurou.mail.MailMessage
MailMessage は、受信メールを処理するためのラッパークラスです。
メッセージオブジェクトを引数にとるコンストラクタによりオブジェクトが作成されます。
日本語処置などを簡易的に扱えるように、ラッパクラス的な使用方法を想定しています。
必要であれば(例えば、添付ファイルを取り出すために、MailAttachFiles を利用する場合など)
内部のメッセージオブジェクトを取り出すことが可能です。
MailReceiveListener クラスの receive( MailMessage ) メソッドで、メールごとにイベントが
発生して、処理する形態が一般的です。
- 導入されたバージョン:
- JDK5.0,
-
コンストラクタの概要
コンストラクタコンストラクタ説明MailMessage
(jakarta.mail.Message message, String host, String user) メッセージオブジェクトを指定して構築します。 -
メソッドの概要
修飾子とタイプメソッド説明void
deleteMessage
(boolean flag) メッセージをメールサーバーから削除するかどうかをセットします。メールの本文(Content)を返します。メールのヘッダー情報を文字列に変換して返します。メールの指定のヘッダー情報を文字列に変換して返します。getHost()
内部の ホスト名を返します。jakarta.mail.Message
内部の メッセージオブジェクトを返します。メッセージID を取得します。受領確認がセットされている場合の 返信先アドレスを返します。メールの内容を文字列として表現します。メールのタイトル(Subject)を返します。getUser()
内部の ユーザー名を返します。static String
mimeDecode
(String text) エンコードされた文字列を、デコードします。void
saveAttachFiles
(String dir, boolean useMsgId) メールの添付ファイルが存在する場合に、指定のフォルダにセーブします。void
saveMessage
(String dir) メールの内容を文字列として指定のフォルダにセーブします。void
saveSimpleMessage
(String dir) メールの内容と、あれば添付ファイルを指定のフォルダにセーブします。
-
コンストラクタの詳細
-
MailMessage
メッセージオブジェクトを指定して構築します。- パラメータ:
message
- メッセージオブジェクトhost
- ホストuser
- ユーザー- 変更履歴:
- 6.4.3.1 (2016/02/12) Collections.synchronizedMap で同期処理を行います。
-
-
メソッドの詳細
-
getMessage
内部の メッセージオブジェクトを返します。- 戻り値:
- メッセージオブジェクト
-
getHost
内部の ホスト名を返します。- 戻り値:
- ホスト名
-
getUser
内部の ユーザー名を返します。- 戻り値:
- ユーザー名
-
getHeader
メールのヘッダー情報を文字列に変換して返します。 キーは、ヘッダー情報の取り出しと同一です。 例) Return-Path,Delivered-To,Date,From,To,Cc,Subject,Content-Type,Message-Id- パラメータ:
key
- メールのヘッダーキー- 戻り値:
- キーに対するメールのヘッダー情報
-
getHeaders
メールの指定のヘッダー情報を文字列に変換して返します。 ヘッダー情報の取り出しキーと同一の項目を リターンコードで結合しています。 Return-Path,Delivered-To,Date,From,To,Cc,Subject,Content-Type,Message-Id- 戻り値:
- メールの指定のヘッダー情報
- このメソッドは、nullを返しません
-
getSubject
メールのタイトル(Subject)を返します。 日本語文字コード処理も行っています。(JIS→unicode変換等)- 戻り値:
- メールのタイトル
- 変更履歴:
- 4.3.3.5 (2008/11/08) 日本語MIMEエンコードされた文字列を mimeDecode でデコードします。
-
getContent
メールの本文(Content)を返します。 日本語文字コード処理も行っています。(JIS→unicode変換等)- 戻り値:
- メールの本文
-
getMessageID
メッセージID を取得します。 基本的には、メッセージIDをそのまま(前後の >, <)は取り除きます。 メッセージIDのないメールは、"unknown." + SentData + "." + From という文字列を 作成します。 さらに、送信日やFrom がない場合、または、文字列として取り出せない場合、 "unknown" を返します。- 戻り値:
- メッセージID
- 変更履歴:
- 4.3.3.5 (2008/11/08) 送信時刻がNULLの場合の処理を追加
-
deleteMessage
メッセージをメールサーバーから削除するかどうかをセットします。- パラメータ:
flag
- 削除するかどうか [true:行う/false:行わない]
-
getSimpleMessage
メールの内容を文字列として表現します。 デバッグや、簡易的なメールの内容の取り出し、エラー時のメール保存に使用します。- 戻り値:
- メールの内容の文字列表現
- このメソッドは、nullを返しません
-
saveSimpleMessage
メールの内容と、あれば添付ファイルを指定のフォルダにセーブします。 saveMessage( dir )と、saveAttachFiles( dir,true ) を同時に呼び出しています。- パラメータ:
dir
- メールと添付ファイルをセーブするフォルダ
-
saveMessage
メールの内容を文字列として指定のフォルダにセーブします。 メッセージID.txt という本文にセーブします。 デバッグや、簡易的なメールの内容の取り出し、エラー時のメール保存に使用します。- パラメータ:
dir
- メールの内容をセーブするフォルダ- 変更履歴:
- 8.5.4.2 (2024/01/12) PMD 7.0.0 CloseResource 対応
-
saveAttachFiles
メールの添付ファイルが存在する場合に、指定のフォルダにセーブします。 添付ファイルが存在する場合のみ、処理を実行します。 useMsgId にtrue を設定すると、メッセージID というフォルダを作成し、その下に、 連番 + "_" + 添付ファイル名 でセーブします。(メールには同一ファイル名を複数添付できる為) false の場合は、指定のディレクトリ直下に、連番 + "_" + 添付ファイル名 でセーブします。- パラメータ:
dir
- 添付ファイルをセーブするフォルダuseMsgId
- メッセージIDフォルダを作成してセーブ場合:true 指定のディレクトリ直下にセーブする場合:false- 変更履歴:
- 4.3.3.5 (2008/11/08) ディレクトリ指定時のセパレータのチェックを追加
-
getNotificationTo
受領確認がセットされている場合の 返信先アドレスを返します。 セットされていない場合は、null を返します。 受領確認は、Disposition-Notification-To ヘッダにセットされる事とし、 このヘッダの内容を返します。セットされていなければ、null を返します。- 戻り値:
- 返信先アドレス(Disposition-Notification-To ヘッダの内容)
-
mimeDecode
エンコードされた文字列を、デコードします。 MIMEエンコード は、 =? で開始するエンコード文字列 ですが、場合によって、前のスペースが 存在しない場合があります。 また、メーラーによっては、エンコード文字列を ダブルコーテーションでくくる処理が入っている 場合もあります。 これらの一連のエンコード文字列をデコードします。- パラメータ:
text
- エンコードされた文字列(されていない場合は、そのまま返します)- 戻り値:
- デコードされた文字列
- 変更履歴:
- 4.3.3.5 (2008/11/08) 日本語MIMEエンコードされた文字列をデコードします。, 8.5.5.1 (2024/02/29) spotbugs CT_CONSTRUCTOR_THROW(コンストラクタで、Excweptionを出さない) class を final にすれば、警告は消える。
-