web-dev-qa-db-ja.com

接尾辞のheader_checksと一致する受信者ドメインのrelay(smarthost)の条件付き使用

一般的にメールを直接送信するように構成されているpostfixメールサーバー(インターネットサイト)で、いくつかの受信者ドメイン(この例ではgmail.comだけで単純にするため)に条件付きヘッダーチェックを実装して、postfixが使用できるようにしますスマートホスト。ただし、スマートホストsmtp.google.comで認証する代わりに、* @ gmail *宛てのメールを直接送信し続けます(意図的に間違ったパスワードを設定しても、文句はありません)。

/ etc/postfix /に次のファイルを作成しました。

relay_passwd:

smtp.google.com [email protected]:mypassword

header_checks:

^To: <*@gmail*>/ FILTER relay:smtp.gmail.com:25

そして、追加のオプションを使用してmain.cfでそれらを参照しました。

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
header_checks = regexp:/etc/postfix/header_checks

今、私はファイルをポストマップしました(そしてそれ以来、postfixを何度も再起動しました):

# postmap relay_passwd
# postmap header_checks

そしてそれは警告を投げます:

postmap: warning: header_checks, line 1: record is in "key: value" format; is this an alias file?

でもそれは問題じゃないと思いますよね?とにかく、私は何か間違ったことをしているに違いありません。

私は次のスレッドを見つけましたが、それらは私が望むものではありません:

接尾辞で別のリレーを使用

接尾辞の条件付きリレー

システムユーザーに基づいて異なるpostfixリレーホスト?

Main.cfの順序は関連していますか? header_checksの正規表現は大丈夫ですか?

1
roothahn

これでうまくいくはずです。リレー構成は問題ないようです。

/^To: (.*?)@gmail.com$/ FILTER smtp:smtp.gmail.com

また、正規表現ファイルをポストマップする必要はありません。

ソース: マルセログ

2
Jacob Evans