操作周围的大括号是语法错误。
:0 # is the address spelled correctly? not don_T_forward?
* !^From:.*\<donforward@domain\.com\>
! other@recipient.net
(或者,替代但多余的,
:0
* !^From:.*\<donforward@domain\.com\>
{
:0
! other@recipient.net
}
另外,见下文。)
但是,这永远不会真正匹配,因为您更改了From:
上一个配方中的地址。也许添加一些逻辑来保留原始的From:
,或者毕竟将大括号中的动作组合起来:
:0c
${DEFAULT}
:0
* !^From:.*\<donforward@domain\.com\>
{
:0fhw
| formail -i "From: changedemail@address.com"
:0
! other@recipient.net
}
$DEFAULT
是的,如果消息没有通过任何配方成功传递,默认操作是传递到。您可能希望反转:0c
逻辑,以便将原件发送到您的常规收件箱(前提是您没有任何以后将其发送到其他地方的配方)并转发副本。
# Drop the $DEFAULT delivery from above
:0c
* !^From:.*\<donforward@domain\.com\>
{
:0fhw
| formail -i "From: changedemail@address.com"
:0
! other@recipient.net
}
对于故障排除,使用VERBOSE=yes
. 在有问题的配方之前添加此指令,然后在消息到达时检查日志输出。有关(更多)信息,请参阅http://porkmail.org/era/mail/procmail-debug.html