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