答案1
惯常的做法是在目标地址的两侧添加字边界锚点。
:0
* ^From:(.*\<)?jgordon@example\.com\>
...
如果您只想匹配两个电子邮件地址而不匹配其他地址,请编写一个仅匹配这两个地址的正则表达式。在您的特定示例中,b?jgordon@example\.com
将匹配bjgordon
和jgordon
。一种常见的类似模式是想要匹配firstname.lastname
和flastnam
;这种模式是(firstname\.lastname|flastnam)@example\.com
。
答案2
是.*
匹配附加字符的内容。您只需匹配标题名称后的空格,因此您可以将其更改为*
。
* ^From: *[email protected]
我怀疑也许可以锚定标题的末尾以避免在末尾匹配额外的字符,但我自己还没有测试过这一点。
* ^From: *[email protected]$
答案3
我有点困惑。你应该为每个用户准备一个 procmail。如果你把它们折叠成同一个,那就是问题所在。当然,Unix 可以处理它!只要告诉它如何处理它。请记住,它会向下流动。所以你可以在它们进来时挤压它们。先钩住 bjgordon。
:0
* To: [email protected]
bjgordon_file
:0
* To: [email protected]
jgordon_file
如果您希望它能够遵守规则,请使用抄送规则:
:0 c:
* From: root <[email protected]>
root_foo_mail.`date +%y%m%d`