私は、電子メールを送信できるドメインを制限するように Postfix 設定を更新したいと考えています。次のソリューションに基づいて、check_recipient_access と smtpd_recipient_restrictions を使用することを考えています:https://serverfault.com/a/412805 これは正規表現を許可しますか? *@mydomain.com にのみメールを送信し、他のすべてのメールをブロックしたいです。次のようになります:
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipients
受信者は以下のとおりです:
*@mydomain.com PERMIT,
* REJECT,
これは実行可能でしょうか?
編集: transportmap でこれが可能であることはわかっていますが、いくつかの ID をブロックするために check_recipient_access をすでに使用しており、可能であれば別の構成を導入したくありません。
答え1
はい、見てman 5 正規表現テーブル。
フォーマットは異なります。完全な正規表現を入力する必要があります。
/.*@example\.com/ OK
/.*/ REJECT
あるいはもっと短く、
!/.*@example\.com/ REJECT
(デフォルトのアクションは「見つかりません」なので、次のsmtpd_recipient_restrictions
項目が続行され、デフォルトで許可されます)。
これをファイルに保存し、次のようにフックします。
smtpd_recipient_restrictions =
...
check_recipient_access regexp:/etc/postfix/my_regexp_recipients.cf,
...
Postfixはバージョン3.7以降、正規表現をインラインで指定できます。テーブルが非常に短いので、次のようになるかもしれません。
smtpd_recipient_restrictions =
...
check_recipient_access regexp:{ { !/.*@example\.com/ REJECT } },
...
追加ファイルはありません。
気をつけて。必要には他の制限項目があります。この設定をそのままにしておくと、このパラメータや他のパラメータ(など)*@example.com
で対策を講じないと、サーバーが へのオープンリレーになる可能性があります。smtpd_*_restrictions
reject_sender_login_mismatch