我用的procmail轉發某些「從」到Gmail帳戶的Procmail發送一個額外的電子郵件
/home/user/.procmailrc
:0c
* !^FROM_MAILER
* ^From: .*aaa | bbb | ccc.*
! ^X-Loop: [email protected]\.com
| formail -k -X "From:" -X "Subject:" \
-I "To: [email protected]" \
-I "X-Loop: [email protected]"
:0
* ^From: .*aaa | bbb | ccc.*
$DEFAULT
這工作得很好,但在我的服務器收件箱我也得到一個 '未交付' 郵件
所述郵件系統< 「^ X-循環:」 @ my-name-server.com>(來自 <膨脹 「^ X-循環:」>):未知的用戶: 「^ x-loop:」
我該如何避免這種情況?
我試着刪除這些郵件。 這不是最好的方法。
無論如何它不工作。
:0B * <"\^X-Loop:"@my-name-server.com>
/dev/null
。*(aaa | bbb | ccc)。*這意味着'包含其中之一'?...您建議(。* \ < )?(aaa | bbb | ccc)這意味着'開始於
dstonek
正則表達式「(。* \ <)?'的意思是」任何事物,只要它結束於一個字邊界「(在'字符邊界'中,'\ <'成功了,在Procmail的正則表達式中等等)。所以是的,這基本上轉換爲「From:header包含aaa或bbb或ccc中的一個,不嵌入更長的字符串中」(取決於錯誤匹配的概率,您可能還想在後面添加'\>'警衛最後右括號)。 – tripleee
您不需要尾隨的'。*' - 如果表達式可以匹配字符串中的任何位置,則正則表達式會成功。 – tripleee