
特定のドメインからのリレーのみを許可する Postfix を設定しました。main.cfrelay_domains
のフラグを使用してこれを実現し、許可されたドメインのリストを見つけるために mysql をクエリします。
relay_domains = mysql:/etc/postfix/mysql_domains.cf
header_checks
MySQLのチェック結果に基づいて、Postfix経由で中継されたドメインを示すカスタムヘッダーを挿入する命令を追加したいと思いますrelay_domains
。その理由は、許可されたドメインが.domain.comで、受信者の電子メールアドレスが[メールアドレス]、検索で Postfix がどの .domain.com に解決されたかを知りたいです。
header_checks が動作しています:
/^From:/i PREPEND X-Relay-Domain: xxx
しかし、ドメイン クエリの結果を取得して、それを header_checks PREPEND に使用する方法がわかりません。別の mysql ルックアップを実行することもできますheader_checks
が、可能であればそれを避けたいと思います。
答え1
check_recipient_access
おそらく、 postfix から使用できます。
smtpd_recipient_restriction = ...
...
check_recipient_access pcre:/etc/postfix/addheader
...
ファイルの/etc/postfix/addheader
内容は次のようになります
/.+@(.+)/ PREPEND X-Relay-Domain: $1
でアクセス表では、PREPEND アクションによってメールにヘッダーが追加されます。この場合、このマップによって受信者のドメイン部分が追加されます。