Milan Cvetkovic
2014-Apr-09 17:46 UTC
[Dovecot] sieve pigeonhole vacation filter responding when recipient is not explicitly listed
Hi dovecot.org, When I set up vacation filter for a mailbox, the vacation response is generated even though none of the addresses in the email are same as the mailbox address itself. I have example email sent to "aliastouser at mpathix.com" which gets delivered to "user at my.domain.com" by dovecot-lda. The invocation command is: # /usr/lib/dovecot/dovecot-lda \ -d user \ -f john.doe at somewhere.com \ -a aliastouser at mpathix.com \ -p /tmp/test.email # cat /tmp/test.email Message-ID: <test3> From: John Doe <john at somewhere.com> To: aliastouser at mpathix.com Subject: test3 vacation response as aliastouser This is the only line in test.email. Here is the vacation filter: if true { vacation :days 1 :addresses ["user at my.domain.com"] text: Please ignore this message, I am only testing vacation filter . ; } /var/log/mail.log shows that sieve vacation sends vacation, (and after succeeding attempts, discards due to already sent address) Apr 9 13:37:21 mx01 dovecot: lda(user): sieve: <test3>: sent vacation response to <john at somewhere.com> Apr 9 13:37:21 mx01 dovecot: lda(user): sieve: msgid=<test3>: stored mail into mailbox 'INBOX' ... Apr 9 13:40:15 mx01 dovecot: lda(user): sieve: msgid=<test3>: discarded duplicate vacation response to <john at somewhere.com> Apr 9 13:40:15 mx01 dovecot: lda(user): sieve: msgid=<test3>: stored mail into mailbox 'INBOX' Attached is the doveconf -n output. Any help is appreciated. Milan. -------------- next part -------------- # 2.2.9: /etc/dovecot/dovecot.conf # OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.4 auth_mechanisms = plain login mail_location = maildir:~/Maildir mail_plugins = " notify replication" managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { mail_replica = remote:vmail@<ip-address> sieve = ~/.dovecot.sieve sieve_before = /etc/dovecot/mpathix.sieve sieve_dir = ~/sieve } protocols = " imap sieve pop3" replication_full_sync_interval = 1 hours service aggregator { fifo_listener replication-notify-fifo { user = vmail } unix_listener replication-notify { user = vmail } } service auth { unix_listener auth-client { mode = 0660 user = Debian-exim } } service doveadm { user = vmail } service replicator { process_min_avail = 1 unix_listener replicator-doveadm { group = vmail mode = 0660 } } ssl_cert = </etc/exim4/exim.crt ssl_key = </etc/exim4/exim.key userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lda { mail_plugins = " notify replication sieve" }
Stephan Bosch
2014-Apr-09 18:48 UTC
[Dovecot] sieve pigeonhole vacation filter responding when recipient is not explicitly listed
On 4/9/2014 7:46 PM, Milan Cvetkovic wrote:> Hi dovecot.org, > > When I set up vacation filter for a mailbox, the vacation response is > generated even though none of the addresses in the email are same as > the mailbox address itself. > > I have example email sent to "aliastouser at mpathix.com" which gets > delivered to "user at my.domain.com" by dovecot-lda. > > The invocation command is: > > # /usr/lib/dovecot/dovecot-lda \ > -d user \ > -f john.doe at somewhere.com \ > -a aliastouser at mpathix.com \ > -p /tmp/test.email > > # cat /tmp/test.email > Message-ID: <test3> > From: John Doe <john at somewhere.com> > To: aliastouser at mpathix.com > Subject: test3 vacation response as aliastouser > > This is the only line in test.email.Well, you specify -a aliastouser at mpathix.com and no -r argument. This means that Sieve sees aliastouser at mpathix.com as envelope recipient. Obviously, that is listed in the 'To' header of the message, making a vacation response valid. http://wiki2.dovecot.org/LDA Regards, Stephan.