Postfixにルールを追加しようとしています。
私の目標は次のとおりです。([email protected])以外の誰かが([email protected])にメールを送信したら、それを([email protected])に転送します。 [email protected]がメールを送信している場合は、単にメールが流れるようにします。要約すると、送信者が[email protected]でない場合は、メッセージを[email protected]にリダイレクトします。送信者IS [email protected]の場合は、リダイレクトしないでください。
参考までに、info @ example.comはエイリアスであり、/ etc/postfix/virtualで定義されており、複数の受信者に送信されます。
私はpcreheader_checksを使用していますが、それは単に機能していません-何も起こらず、すべてのメールはリダイレクトされずに以前と同じように流れています。
これを行うためのより良い/より簡単な方法があれば、私はすべての耳です!
したがって、 この投稿 および この投稿 の指示に従って、main.cfおよびheaders_checkに次の行を追加しました。
main.cf:
header_checks = pcre:/etc/postfix/headers_check
/ etc/postfix/headers_check
/To:[email protected]/ && /From:(?([email protected]).)*/ REDIRECT [email protected]
ただし、何も起こりません。すべてのメールは引き続き[email protected]にドロップされます。 「From」チェックを削除して、info @ example.comに送信されたすべてのメッセージを取得してリダイレクトできるかどうかを確認しました。しかし、これもうまくいきませんでした。走った
postmap -q "From:[email protected]\nTo:[email protected]" pcre:/etc/postfix/headers_check
と応答を受け取りました
&& /(?([email protected]).)*/ REDIRECT [email protected]
また、postfix(postfix reload)を再起動して、構成がロードされたことを確認しました。
また、これは多数の仮想ホストを備えたマシンであり、それぞれに独自の電子メールアドレスとエイリアスがあることに注意してください。すべて/ etc/postfix/virtualで結合されます。
これを達成する方法についてアドバイスをありがとう!
なぜ この回答 が受け入れられ、賛成されたのかわかりません。 Postfixドキュメント postfixは一度に1つのヘッダー行しか調べないと明確に述べています。
これらのルールは、一度に1つの論理メッセージヘッダーまたは1つの本文行で機能します。ある回線に対して行われた決定は、次の回線に引き継がれません。
したがって、FromとToヘッダーを組み合わせるというアイデアはサポートされていません接尾辞による。
もう1つの方法は、電子メールヘッダーのアドレスの代わりにエンベロープアドレスを使用することです。これを行うには、制限クラスと呼ばれる接尾辞機能を使用できます。見る
Main.cfにこの行を追加します
smtpd_restriction_classes = specialsender
specialsender = permit
smtpd_recipient_restrictions =
...
check_sender_access hash:/etc/postfix/mycompany.redirection,
check_recipient_access hash:/etc/postfix/redirect.sales
...
の内容 /etc/postfix/mycompany.redirection
[email protected] specialsender
の内容 /etc/postfix/redirect.sales
[email protected] REDIRECT [email protected]
接尾辞がこの行に遭遇したとき
check_sender_access hash:/etc/postfix/mycompany.redirection
そして、specialsenderクラスの[email protected]を見つけ、接尾辞はリダイレクトなしでそれを許可します。別のメールアドレスがチェックされます
check_recipient_access /etc/postfix/redirect.sales
また、受信者== [email protected]の場合、sales @ example.comにリダイレクトされます。