web-dev-qa-db-ja.com

postfixpcre条件付きREPLACE

「Message-Id:」が定義された文字列で始まる場合にのみ、受信電子メールメッセージの「From:」ヘッダー行を変更する必要があります。だからmain.cfに私は入れました:

header_checks = pcre:/etc/postfix/header_checks

そしてheader_checksファイルには以下が含まれています:

if /^Message-Id: <footext.+/
/^From: (.*)@johndoe.com/ REPLACE From: ${1}@ext.johndoe.com
endif

それは動作しません、条件はかかりません。何が足りないのですか?

1
Gabriele

http://www.postfix.org/header_checks.5.html

/ pattern/flagsの場合

   endif  Match the input string against the patterns between
          if  and endif, if and only if ----> the same <----- input string
          also matches /pattern/. 

if/endifブロックを使用して別のヘッダーと一致させることはできません。

1
Gryphius

私はこの投稿に出くわし、同様の問題があったので更新しようと思いました:これらのリソースのいくつかで提案されているように postfix pipe を使用して別のアプローチを取りました:

そして、ループの問題に遭遇したという理由だけで:

0
SysadminB