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.