Postfix の From を書き換えと特殊文字が含むメールアドレスの扱いについて

こんにちは。サイオステクノロジー OSS サポート担当何敏欽です。

システム要件で、Postfix で特定の From メールアドレスからメールを受信した際に、エンベロープ From とヘッダ From を書き換えたい時ってありますよね。例えば下記のようにしたい場合、どのように設定すればいいかを説明します。

エンベロープFromとヘッダFromを書き換

今回は RHEL7.4 で検証および確認していきます。なお、postfix の基本設定の説明を割愛します。 Postfix設定パラメータ を確認すると、sender_canonical_maps と local_header_rewrite_clients パラメータを使用する必要があります。設定してみます。

設定はこれで完了ですが、送信元アドレスが suika@hoge.sios.com のメールのエンベロープ From とヘッダ From を banana@test.sios.com に書き換えるかどうかを確認してみます。

送信元アドレス suika@hoge.sios.com からメールを送ってみます。

メールの中身を確認してみます。ちゃんと Return-Path と From は設定通り banana@test.sios.com になっていることを確認できます。

maillog を確認してます。ちゃんと from は banana@test.sios.com になっていることを確認できます。

特殊な記号を含むメールアドレス

  • postfix で「”」ダブルクオート (DQUOTE) で囲まれたメールアドレスをどう扱いますか。例えば下記のように、特殊記号「@」がメールアドレスのローカルパートに含まれるメールアドレスがあるとします。
  • RFC 2822 によりますと、「”」ダブルクオート (DQUOTE) は特殊記号を囲む場合に使われており、DQUOTE + 文字列 + DQUOTE が特別な意味を持ちます。atom 内で許可されていない文字を含む文字列でも、「”」ダブルクオートでくくられた quoted-string の形式であれば表すことができます。

    Postfix におけるダブルクオートの扱いも RFC 2822 に準拠しており、特殊記号「@」などがメールアドレスのローカルパートに含まれる場合などにダブルクオートを使用します。

    なお、「”mo@mo”@hoge.sios.com」 宛にメールを送信すると、maillog では「”」ダブルクオート (DQUOTE) を除いて記録されます。

  • postfix で「-」ハイフンで始まるメールアドレスをどう扱いますか。例えば下記のように、特殊記号「-」がメールアドレスのローカルパートに含まれるメールアドレスがあるとします。
  • Postfix におけるデフォルトで – (ハイフン) から始まるメールアドレスが拒否されますので、「-test@hoge.sios.com」 宛にメールを送信すると、maillog では「501 5.1.3 Bad recipient address syntax」が記録されます。

    「-」ハイフンで始まるメールアドレスの配信を許可したい場合、「allow_min_user = yes」の設定を行う必要があります。

おまけ

例えば下記のように、特殊記号「@」に続き「:」がメールアドレスのローカルパートに含まれるメールアドレスがあるとします。

「”@:”@hoge.sios.com」宛にメールを送信すると、postfix の仕様上、「@」から「:」までの文字列を削除する仕様となっており、maillog ではローカルパートが空の宛先にメールを送信するように見えます。

例えば「”@test:”@hoge.sios.com」宛にメールを送信する場合、「@test:」は削除されるため、「@hoge.sios.com」宛にメールを送信します。

以上で Postfix のエンベロープ From とヘッダ From を書き換え、特殊な記号を含むメールアドレスの扱いについて説明しました。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*