欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

dovecot sieve 遇上转发的邮件自动回复无效的解决 博客分类: mailLinux dovecotsievepostfixmail 

程序员文章站 2024-03-22 13:17:04
...

现象: 当邮件是经过转发收到的则sieve的vacation自动回复功能失效,比如在mark@d1.com上做了转发,凡是发往这个地址的邮件都转发到mark@domain.tld上。

 

dovecot lda日志:

lda(mark@domain.tld): Info: sieve: msgid=<131954....@web92414.mail.cnh.yahoo.com>: discarding vacation response for message implicitly delivered to <mark@domain.tld>

 

意思是不能给自己自动回复。搜索结果是信封收件人和信头收件人不一致导致的:

This situation occurs when the message's To,CC,etc. headers do not contain the recipient address (from the envelope). This can be caused by a mailing list (to which it must not respond), but also by some translation in your mail setup. The former case is intended behavior, the latter is problematic. If your final recipient address does not match what is in the message's headers due to some translation step in the mail setup (e.g. aliasing), you have a problem.

http://www.mailinglistarchive.com/html/dovecot@dovecot.org/2011-08/msg00025.html

 

以及

The automatic replies aren't sent if any of the following is true:

Auto-Submitted: header exists with any value except "no"
Precedence: header exists with value "junk", "bulk" or "list"
The envelope sender
begins with "MAILER-DAEMON" (case-insensitive)
begins with "LISTSERV" (case-insensitive)
begins with "majordomo" (case-insensitive)
begins with "owner-" (case-sensitive)
contains the string "-request" anywhere within it (case-sensitive)
The envelope sender and envelope recipient are the same
The envelope recipient is not found in the message To:, Cc: or Bcc: fields.

http://wiki.dovecot.org/LDA/Sieve
  

 

根据上面链接中信息以及参考 man 8 pipe ,修改 postfix的master.cf配置如下:

 

flags=DRhuXO user=vmail:vmail argv=/usr/local/dovecot/libexec/dovecot/dovecot-lda -f ${sender} -d ${user}@${nexthop} -m ${extension} -a ${original_recipient}
 

给dovecot LDA传递 -a参数变量,问题解决。