一般的にメールを直接送信するように構成されている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の正規表現は大丈夫ですか?
これでうまくいくはずです。リレー構成は問題ないようです。
/^To: (.*?)@gmail.com$/ FILTER smtp:smtp.gmail.com
また、正規表現ファイルをポストマップする必要はありません。
ソース: マルセログ