0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Postfix の header_checks で From と Subject を同時に書き換えたい(その2)

Last updated at Posted at 2020-12-25

その2の事情

Postfix の header_checks で From と Subject を同時に書き換えたい を実施すると「すべてのメールの From が変更されてえしまう」という問題が出てくる。
希望としては

Subject で振り分けて From を書き換えたい

というのが理想でした。

さて、どうやるか?

「postfix をマルチインスタンスで動かして Subject で振り分けて別インスタンスで書き換えれば良い」

という事がわかりました。

まずは「postfix をマルチインスタンスで動かす」はこちらのページをご参照ください。

postfixのマルチインスタンス設定を用いた複数サーバー運用

その後

プライマリ(port 25)の設定変更

/etc/postfix/main.cf
header_checks = regexp:/etc/postfix/header_checks
サービス再起動
# systemctl restart postfix
/etc/postfix/header_checks
/^Subject: hogehoge-ML(.*)/ FILTER smtp:127.0.0.1:10025

セカンダリ(port 10025)の設定変更

/etc/postfix-2nd/main.cf
smtp_header_checks = regexp:/etc/postfix/header_checks
サービス再起動
# systemctl restart postfix
/etc/postfix/header_checks
if /^(From: (.*))|^(Subject: hogehoge-ML(.*))/i
/^Subject: hogehoge-ML (.*)/ REPLACE Subject: [HOGE-ML] $1
/^From: (.*)/ REPLACE From: hoge-ml@examle.com
endif

こうやることで「 Subject: に hogehoge-ML と書かれていれば Subgect: [HOGE-ML] を追記し From: も hoge-ml@examle.com に書き換える」
というのが上手く動きます。

まとめ

マルチインスタンスで処理することで色々と柔軟に書き換えることが可能になります。
ポイントとしてはプライマリの header_checks を smtp_header_checks では無く header_checks で動かすことで FILTER が動くようになります。(smtp_header_checks では動作しません。

参考サイト

postfixのマルチインスタンス設定を用いた複数サーバー運用
水銀室 Postfixをマルチインスタンスで起動する -CentOS最短構築支援-
Route mail in postfix to different relays based on subject

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?