如何合并Procmail规则实现修改主题并转发副本至Gmail
Procmail规则合并:让转发邮件同步应用主题修改
你当前的两条规则是独立执行的,转发规则使用的是原始邮件的副本,而主题修改规则仅处理本地存储的邮件内容,因此转发到Gmail的邮件不会带上修改后的主题。以下是两种可行的解决方法:
方案1:调整规则顺序,确保转发修改后的邮件
将主题修改规则放在转发规则之前,利用Procmail的过滤机制(f标志)先修改邮件内容,再转发修改后的副本:
# 给符合条件的邮件添加主题前缀,修改后邮件继续向下处理 :0fwh * (To|Cc).*oldDomain.com * ^Subject:/.+ | formail -I"Subject: [OLD DOMAIN]$MATCH" # 转发修改后的邮件副本到Gmail :0c * (To|Cc).*oldDomain.com ! myAddress@gmail.com
- 标志说明:
f表示过滤(修改邮件内容),w等待命令执行完成,h仅处理邮件头;c表示保留原始邮件,转发副本。
方案2:合并规则,在同一步骤完成修改与转发
将主题修改和转发操作合并到同一个规则块中,确保转发的是修改后的邮件内容:
:0cwhf * (To|Cc).*oldDomain.com * ^Subject:/.+ | formail -I"Subject: [OLD DOMAIN]$MATCH" | sendmail -oi -t myAddress@gmail.com
- 这里用
sendmail直接转发修改后的邮件,等价于原规则中的!命令;c标志保证原始邮件仍会被正常存储到本地邮箱。
内容的提问来源于stack exchange,提问作者dawydiuk
相关产品推荐
相关产品推荐

