这会将电子邮件转发到存储在变量EMAIL_ADDR
中的地址dashboard
我想先保存电子邮件的本地副本 它转发了。不确定这样做的语法。 我知道这不行:
:0
* ^From
! $EMAIL_ADDR
答案 0 :(得分:1)
常见的方法是使用“克隆”标志。
:0c
! $EMAIL_ADDR
# Whatever else you want to do with the message
:0:
$FILE
由于每条消息都有一个^From
,我假设你根本不知道条件是可选的;无条件地做某事,只是完全省略条件正则表达式。如果不是这种情况,您可以在大括号中的食谱块条件下对多个操作进行分组:
:0
* common condition
{
:0c
! $EMAIL_ADDR
:0:
$FILE
}
这是一个古老的常见问题解答; http://www.iki.fi/era/procmail/mini-faq.html#c-flag
您可以拥有多个条件,但只能执行一个操作。如果您愿意,可以使用tee
将副本保存到文件中,然后导管到$SENDMAIL
;但我建议不要这样做,因为tee
输出文件需要有一个锁文件,以防止多个Procmail进程同时将多个消息的交错片段传递到同一个文件;例如,请参阅http://www.iki.fi/era/procmail/mini-faq.html#locking。
答案 1 :(得分:0)
尝试下面的脚本(它基于man procmailex
)。
:0
* ^From
{
# use lock file to prevent simultaneous deliveries
:0 c:tee.lock
| tee $FILE
:0
! $EMAIL_ADDR
}
您可以直接使用mailbox-file
的名称,而不是| tee $FILE