Sun Java System Messaging Server 6 2005Q4 管理ガイド

不在返信メッセージの自動返信の動作方式

不在処理は、起動されると次のように機能します。

  1. Sun Java System Messaging Server は、不在処理がシステムレベルではなくユーザーレベルの Sieve スクリプトで実行されたことを確認します。不在処理にシステムレベルのスクリプトが使用されている場合は、エラーが発生します。

  2. 内部 MTA フラグの「no vacation notice」がチェックされます。このフラグが設定されている場合、処理は終了し、不在通知は送信されません。

  3. メッセージの返信用アドレスがチェックされます。返信用アドレスが空白の場合、処理は終了し、不在通知は送信されません。

  4. MTA は、現在のメッセージの To:Cc:Resent-to:、または Resent-cc: の各ヘッダーフィールドにある :addresses タグ付き引数にユーザーのアドレスまたはその他のアドレスが指定されているかどうかをチェックします。いずれのヘッダーフィールドでもアドレスが見つからない場合、処理は終了し、不在通知は送信されません。

  5. Messaging Server は、:subject 引数と理由文字列のハッシュを作成します。この文字列は現在のメッセージの返信用アドレスとともに、ユーザーごとの不在応答の履歴に照らしてチェックされます。応答が :days 引数で許可されている時間内にすでに送信されている場合、処理は終了し、応答は送信されません。

  6. Messaging Server は、:subject 引数、理由文字列、および :mime 引数から不在通知を作成します。この応答メッセージには、次の 2 つの基本的な形式があります。

    • 最初の部分に理由テキストがある、RFC 2298 で指定されている形式の MDN。

    • 単一パートのテキスト返信 。(この形式は、「reply」自動返信モードの属性の設定をサポートするためにのみ使用される。)

不在メッセージが Messenger Express を使用して設定された場合、mailautoreplymode は自動的に reply に設定されます。

MTA フラグの「no vacation notice」は、デフォルトでは設定解除されています。このフラグは、システムレベルの Sieve スクリプトで標準外の novacation アクションを使用して設定できます。novacation Sieve アクションは、システムレベルの Sieve スクリプトでのみ許可されます。ユーザーレベルのスクリプトで使用された場合は、エラーが発生します。このアクションを使用して、不在返信に関してサイト全体に適用する制約を実装できます。たとえば、サブ文字列「MAILER-DAEMON」を含んでいるアドレスへの返信をブロックするなどです。

ユーザーごと、応答ごとの情報は、一連のフラットテキストファイルに保存されます。ファイルは、ローカルユーザーごとに 1 つあります。これらのファイルの場所およびネーミング方式は、VACATION_TEMPLATE MTA オプションで指定します。このオプションは file:URL に設定する必要があります。

これらのファイルの保守は自動的に行われ、VACATION_CLEANUP MTA オプションの設定 (整数) によって制御されます。これらのファイルのいずれかが開かれるたびに、この値を使用して現在時刻の値 (秒単位) が計算されます。結果がゼロである場合、ファイルがスキャンされ、有効期限切れのエントリはすべて削除されます。このオプションのデフォルト値は 200 です。これは、200 分の 1 の確率でクリーンアップパスが実行されることを意味します。

これらのフラットテキストファイルの読み取りと書き込みに使用される機能は、NFS 上で正しく動作するように設計されています。これによって、複数の MTA が単一のファイルセットを共通のファイルシステム上で共有することが可能になっています。