James君!〜再送信系Mailet機能一覧表

表の見方

この表は再送信系 Mailet のオプションがあり過ぎて混乱するのを整理するために作ったものである。各項目がその Mailet のオプションに相当する。太字がタグ省略時の同等の動作である。また、カラム内に1つしか項目のないカラムについては「固定の値」である。

簡単に各行(オプション)について説明する。

親クラス
そのMailetの直接の親クラス。GenericMailet ← AbstractRedirect ← AbstractNotify である。
許容オプション
そのMailet で設定可能なオプション
recipients
SMTP で送信する宛先
to
To: ヘッダに現れる宛先
sender
sendingAddress
From: ヘッダに現れる送信元
replyTo
Reply-To: ヘッダに現れる返信先。特にユーザレベルで返信を求めたい場合に使われるアドレス。
reversePath
ReversePath: ヘッダに現れる送信元。Bounce で使われる送信元である。
inline
attachment
ややこしいので、一緒に解説する。もし、inline == unaltered ならば、元のメールがそのまま返信対象になる。そうでない場合、返信メールは再構築され、Multipart メールで送られる。
返信される Multipart メールの本文の内容は、まず message オプションで指定されるテキストが先頭に来て、その後に「元メールのヘッダ」「元メールの本文」が続くが、これを inline オプションが制御する。要するに inline == all ならすべて、inline == none なら元メール内容は含めず、inline == heads ならヘッダのみ、inline == body なら本文のみが、返信Multipart メールの本文になる。
その後、その返信 Multipart メールの本文以外のパートの内容を決めるのが attachment オプションである。attachment == null ならば添付ファイル形式にはしない。attachment == message ならば、元メール全体を message/rfc822 形式で添付する。
そして、attachement == heads ならばヘッダのみ、attachment == body ならば本文のみ、attachment == all ならばヘッダ・本文ともに添付ファイルとして添付する。添付ファイル名は元メールの Subject: ヘッダの内容が使われる。
なお、attachError オプションが true で James が処理中に発生したエラーがある場合には、さらにエラー内容を 添付ファイル(ファイル名「Reasons」)で添付する。
isReply
In-Reply-To: ヘッダに元メールの messageID をセットするか否かのオプション。Forward 以外の AbstractRedirect 系ではこれをオプションで制御できるが、AbstractNotify 系では固定で true である。Abstract Redirect 系のデフォルトは false である。

カラム以外のオプション

なお、表のカラム以外に、次のオプションが設定可能である。

attachError
attachStackTrace
attachError も attachStackTrace もまったく同じオプションである。James が処理中に発生したエラーを添付ファイルにする。default = false。上記参照。もし、inline == unaltered ならこれを true にしても添付されない。
message
notice
これもややこしいので一緒に解説する。両者共、メール本文の最初のテキストとして登場するテキストを指定する。ただし、notice は AbstractNotify クラスで定義されているので、これを継承するクラスでしか使えず、message オプションよりも優先して使われる。違いはそれだけである。
messsageString
これは DSNBounce 専用である。要するにこれだけデフォルトの内容があるため、別オプションになっているものと思われる。振舞いは message オプションと同様である。
subject
これは AbstractRedirect 系でしか設定可能ではない。返信メールの Subject: を設定する。では AbstractNotify系ではどうか、と言えば、元メールの Subject: が使われるのである。勿論 AbstractRedirect 系でこれを設定しない場合には、元メールのものを使う。
prefix
これは返信メールの Subject: の先頭に挿入されるテキストである。Subject: の加工前の内容がどうなるか、は上記 subject オプションのやり方に従う。
passThrough
さまざまな Mailet で使われているお馴染みのオプションである。== false ならば、パイプライン処理を終了させる。デフォルトは false なので、自動返信みたいなことをするのならば、忘れずに true にして保存するようにしなければならない。
fakeDomainCheck
返信系なので、返信メールに「元メールのヘッダに依存した Sender」が設定される可能性がある。その場合、実在しない送信元でメールを送ってしまう可能性(無限にBounceするかも...)があるので、これをあらかじめ DNS で検索するかどうか、のオプションである。デフォルトは true である(まあ、変えない方がいいな..)。
debug
デバッグオプションである。== true なら、進行状況に応じた mailet ログが出る。デフォルトは false である。
static
これは Redirect でのみ設定可能なオプションで、プロパティとしてはすべての Mailet で false を取っている。static プロパティは「元メールを変更しない」ことをあらかじめ宣言し、それによってメール処理の最適化を図る..というものである。どちらか言えば Redirect を継承して新しい返信Mailet を作る用途であろう。

再送信系Mailet機能一覧表

AbstractRedirect を親に持たない ServerTime と、特殊な DSNBounce は表から除いてある。

 ResendRedirectForwardNotifyPostmasterNotifySenderBounce
親クラスAbstractRedirect AbstractRedirect AbstractRedirect AbstractNotify AbstractNotify AbstractNotify
許容
オプション
debug,
passThrough,
fakeDomainCheck,
inline, attachment,
message,
recipients, to,
replyTo, replyto,
reversePath,
sender, subject,
prefix, attachError,
isReply
static, debug,
passThrough,
fakeDomainCheck,
inline, attachment,
message,
recipients, to,
replyTo, replyto,
reversePath,
sender, subject,
prefix, attachError,
isReply
debug,
passThrough,
fakeDomainCheck,
forwardto,
forwardTo
debug,
passThrough,
fakeDomainCheck,
inline, attachment,
message, notice,
sender,
sendingAddress,
prefix, attachError,
attachStackTrace,
to
debug,
passThrough,
fakeDomainCheck,
inline, attachment,
message, notice,
sender,
sendingAddress,
prefix, attachError,
attachStackTrace,
to
debug,
passThrough,
fakeDomainCheck,
inline, attachment,
message, notice,
sender,
sendingAddress,
prefix, attachError,
recipients postmaster,
sender, replyTo,
reservePath,
unaltered,
recipients, to, null,
アドレス
toとrecipientsを
同一で扱う
postmaster,
sender, replyTo,
reservePath,
unaltered,
recipients, to, null,
アドレス
必須の
<forwardTo>
を見る
postmaster,
sender, replyTo,
reservePath,
unaltered,
recipients, to, null,
アドレス
postmaster sender reversePath
topostmaster,
sender, replyTo,
reservePath,
unaltered,
recipients, to, null,
アドレス
unaltered postmaster,
unaltered
sender, unaltered,
from
reversePath
senderpostmaster,
sender, unaltered,
アドレス
postmaster,
sender, unaltered,
アドレス
unaltered postmaster,
sender, unaltered,
アドレス
postmaster,
sender, unaltered,
アドレス
postmaster,
sender, unaltered,
アドレス
replyTopostmaster,
sender, null,
unaltered,
アドレス
postmaster,
sender, null,
unaltered,
アドレス
unaltered (削除) (削除) (削除)
reserverPathpostmaster, sender, null, unaltered, アドレス postmaster, sender, null, unaltered, アドレス unaltered sender sender 空(<>)
inlineunaltered, body,
heads, all, none
unaltered, body,
heads, all, none
unaltered unaltered, body,
heads, all, none
unaltered, body,
heads, all, none
unaltered, body,
heads, all, none
attachmentbody, heads, all,
message, none
body, heads, all,
message, none
none body, heads, all,
message, none
body, heads, all,
message, none
body, heads, all,
message, none
isReplytrue, false true, false false true true true



copyright by K.Sugiura, 1996-2006