[Dovecot] strange sieve situation

Andy Dills andy at xecu.net
Sat May 29 18:47:03 EEST 2010


Hi there, I've been working on rolling out the "deliver" service so we can 
implement sieve. Dovecot 1.2.11, Postfix 2.6.6, FreeBSD 8, installed by 
ports. Clustered environment, NFS backend.

Everything is working great for the most part, I'm using it to sort a copy 
of my personal email on a test server. However, I noticed two emails were 
not properly sorted.

I had added a rule (using Ingo, nice little piece of software) to redirect 
the nightly FreeBSD security output emails into a folder "servers". 

However, nothing had triggered that rule, and the "Maildir/.servers" 
directory had not yet been created.

Then, three of the "security outputs" came in at one time:

May 29 03:01:48 mg8 dovecot: deliver(andytest at xecu.net): sieve: 
msgid=<20100529070108.F2F0B7F5D4 at mail-out04.xecu.net>: failed to store 
into mailbox 'servers': Mailbox already exists

May 29 03:01:48 mg8 dovecot: deliver(andytest at xecu.net): sieve: 
msgid=<20100529070109.D8F5E159913 at mail-out01.xecu.net>: failed to store 
into mailbox 'servers': Mailbox already exists

May 29 03:01:48 mg8 dovecot: deliver(andytest at xecu.net): sieve: 
msgid=<20100529070109.D8F5E159913 at mail-out01.xecu.net>: stored mail into 
mailbox 'INBOX'

May 29 03:01:48 mg8 dovecot: deliver(andytest at xecu.net): sieve: execution 
of script /mail/var/mail2/xecunet/andytest.xecu.net//.dovecot.sieve 
failed, but implicit keep was successful

May 29 03:01:48 mg8 dovecot: deliver(andytest at xecu.net): sieve: 
msgid=<20100529070110.17A781B53B9 at mail-out02.xecu.net>: stored mail into 
mailbox 'servers'

May 29 03:01:48 mg8 dovecot: deliver(andytest at xecu.net): sieve: 
msgid=<20100529070108.F2F0B7F5D4 at mail-out04.xecu.net>: stored mail into 
mailbox 'INBOX'

May 29 03:01:48 mg8 dovecot: deliver(andytest at xecu.net): sieve: execution 
of script /mail/var/mail2/xecunet/andytest.xecu.net//.dovecot.sieve 
failed, but implicit keep was successful


That's the order they appeared in my logfile. I'm assuming they were all 
sent to deliver at the same time, they all thought they needed to make the 
directory, the one with msgid 
20100529070110.17A781B53B9 at mail-out02.xecu.net was able to make the 
directory and get delivered, whereas the other two freaked out because 
they couldn't make the directory they thought needed to be made, and just 
sent the mail to the inbox.

That's a reasonable approach, although I wonder if deliver/sieve could be 
(or perhaps "has been in 2.0") adjusted to more intelligently handle that 
edge case.



Also, I'm wondering about "dovecot_destination_recipient_limit = 1". I 
have that set in my main.cf, but I'm not 100% positive it's taking effect.

# grep dovecot /usr/local/etc/postfix/main.cf
dovecot_destination_recipient_limit = 1
virtual_transport = dovecot

# grep dovecot /usr/local/etc/postfix/master.cf 
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=mailman argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient}

# postconf | grep dovecot
smtpd_sasl_type = dovecot
virtual_transport = dovecot

# postconf | grep destination_recipient_limit
default_destination_recipient_limit = 50
lmtp_destination_recipient_limit = $default_destination_recipient_limit
local_destination_recipient_limit = 1
relay_destination_recipient_limit = $default_destination_recipient_limit
smtp_destination_recipient_limit = $default_destination_recipient_limit
virtual_destination_recipient_limit = $default_destination_recipient_limit

Is "dovecot_destination_recipient_limit" being converted into local_ ?

Thanks,
Andy

---
Andy Dills
Xecunet, Inc.
www.xecu.net
301-682-9972
---


More information about the dovecot mailing list