使用Sieve过滤器改写From为Reply-To适配Constant Contact列表遇阻
解决Constant Contact邮件Sieve规则失效问题
你的规则没生效,核心原因是Sieve标准的set命令只能定义变量,不能直接修改邮件的From头部。要实现修改邮件头部的需求,得用Sieve的editheader扩展(这是标准外的扩展,需要服务器支持)。
正确的规则写法
先确保你的邮件服务器(比如Dovecot)启用了editheader和variables扩展,然后把以下规则放在原有规则的最开头:
require ["editheader", "variables"]; if allof( header :contains "from" "ccsend", header :exists "reply-to" ) { editheader replace "From" "${reply-to}"; } # 原有数百条规则放在这里
关键说明
require语句必须放在最前面,声明要用到的扩展,否则规则会报错- 增加
header :exists "reply-to"判断,避免遇到Reply-To为空的邮件时出现异常 editheader replace才是Sieve中修改邮件头部的正确命令,能直接把From字段替换成Reply-To的内容,这样原有基于真实发件人地址的规则就能正常匹配了
内容的提问来源于stack exchange,提问作者Ian
相关产品推荐
相关产品推荐

