Sieve假期自动回复未使用Reply-To字段的配置咨询
Sieve假期自动回复未使用Reply-To字段的配置咨询
嘿,这个问题我之前折腾过,确实默认的Sieve vacation动作不会自动优先用Reply-To字段来回复,得调整下脚本逻辑才行~
首先要明确:如果想让自动回复优先发送到收到邮件里的Reply-To地址(而不是From地址),我们需要先提取这个头字段的值,再传给vacation动作。具体步骤如下:
- 首先要在脚本开头的
require里加上variables扩展,这样我们才能把Reply-To的值存成变量复用 - 先判断收到的邮件是否包含Reply-To头,如果有的话就提取它的值,再调用vacation时指定
:reply-to参数;如果没有,就用默认的回复逻辑
修改后的完整脚本是这样的:
require ["vacation", "variables"]; # rule:[rep] if header :contains "subject" "Software" { # 检查邮件是否存在Reply-To字段 if header :exists "reply-to" { # 把Reply-To的值存入变量 set "reply_addr" "${header:reply-to}"; # 指定回复目标为提取到的Reply-To地址 vacation :subject "reply!!" :reply-to "${reply_addr}" "abc"; } else { # 没有Reply-To时沿用原来的默认行为 vacation :subject "reply!!" "abc"; } }
这个脚本的逻辑很清晰:当收到主题包含"Software"的邮件时,先看有没有Reply-To,有就自动回复到这个地址,没有就按原来的方式回复。只要你的Roundcube后端用的是支持variables和vacation扩展的Sieve服务(比如Dovecot的Pigeonhole),就能正常运行啦。
备注:内容来源于stack exchange,提问作者Heiner
相关产品推荐
相关产品推荐

