ヘッダーを追加する
すべてのメッセージにヘッダーを追加すると便利な場合があります。たとえば、メッセージを追跡するためにヘッダーを追加することもできます。このコードはすべてのメッセージに X-Seen-By ヘッダーを追加します。以下のコードが含まれています。
pmx_add_header "X-Seen-By" "%%HOSTNAME%%";
The pmx_add_header
action adds an X-Seen-By header.ヘッダーの値は PureMessage マシンのホスト名です (例: mail.example.com)。
%%HOSTNAME%% トークンは「テンプレート変数」と呼ばれます。サポートされているテンプレート変数については、pmx-policy man ページのリストをご覧ください。
ポリシーリポジトリの他のデフォルトコードと異なり、このコードは目的に応じて変更する必要があります。サイトによっては、特定のメッセージを自動的に指定のアドレスに送信する必要があります。たとえば、「bug」というキーワードを含むすべてのメッセージがバグ追跡システムに送信されます。
次のコード例では、(a)件名に「bug」が含まれている、(b)受信者が「old-bugs@example.com」である、(c)ヘッダー X-Bug-Id がある場合に、新しい受信者(bugs@example.com)が追加されます。
if anyof (header :matches "Subject" "*bug*", envelope "to"
"old-bugs@example.com", header :matches "X-Bug-Id" "*") { pmx_add_recipient
"bugs@example.com"; }
anyof テストは「メタテスト」です。テストのいずれかが true を返した場合に、true を返します。
ヘッダーテストは、件名が「*bug*」と一致した場合に true を返します。送信者テストは、メッセージの「to」受信者のいずれかが「old-bugs@example.com」と一致した場合に true を返します。これらのテストはどちらも大文字と小文字を区別します。
2番目のヘッダーテストは、X-Bug-Id ヘッダーが何と一致した場合でも true を返します。つまり、X-Bug-Id ヘッダーが存在すれば true を返します。いずれかのテストが true を返すと、pmx_add_recipient
によって、メッセージが元の受信者に加えて 「bugs@example.com」にも配信されます。