ヘッダーを追加する

すべてのメッセージにヘッダーを追加すると便利な場合があります。たとえば、メッセージを追跡するためにヘッダーを追加することもできます。このコードはすべてのメッセージに 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」にも配信されます。