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
---