[Dovecot] Where did the message end up?

Dag Nygren dag at newtech.fi
Wed Feb 22 09:34:27 EET 2012

onsdag 22 februari 2012 01:32:56 skrev  Timo Sirainen:
> On 21.2.2012, at 14.56, Dag Nygren wrote:
> > Just migrated out UW-IMAP installation to Dovecot and so far so good.
> > 
> > Had small teething problems though which left me with one question.
> > 
> > The scenario was that I have a set of public folders that are only
> > needed by the main company group (gid = company). Then there are some
> > external users as well, not directly in the company group.
> So this is in a public namespace?

Yep, it was.
The definition:

namespace {
  type = public
  separator = /
  prefix = MailingLists/
  location = mdbox:/usr/local/var/mail/MailingLists
  inbox = no
  subscriptions = no  # v1.1+

> > I set up the public mailbox with permissions 660, owner me and group
> > "company". That is the externals didn't have access to the mail folder.
> > 
> > At this point all looked fine, but later there was an email to an
> > external person and this was passed on to deliver by procmail. Procmail
> > logs says all was OK, but there is an entry about the public folder not
> > accessible in the Dovecot log. The email is nowhere to be found.
> Exact error message would be helpful. Was the error from deliver, or
> imap/pop3? If it was from deliver, it probably returned temporary failure.

The log parts with final names and groups changed..

Deliver error:

Feb 21 10:02:24 dag dovecot: lda(extuser): Error: user extuser: Initialization 
failed: Namespace 'MailingLists/': 
stat(/usr/local/var/mail/MailingLists/mailboxes) failed: Permission denied 
(euid=2002(extuser) egid=2002(extgroup) missing +x perm: 
/usr/local/var/mail/MailingLists, euid is not dir owner)
Feb 21 10:02:24 dag dovecot: lda(extuser): Fatal: Invalid user settings. Refer 
to server log for more information.

Procmail log:

>From mailing-1341698764359 at mailpv.net  Tue Feb 21 10:02:24 2012
 Subject: =?CP1250?Q?P=E4=E4si=E4issuunnitelmat?=
  Folder: deliver -d extuser -m inbox                                    56979

> > Where is the delivered email?
> Have you checked what happens if deliver tempfails (e.g. make procmail call
> tempfail.sh script that just exits with 75), does procmail also correctly
> tempfail and tell MTA to retry the delivery later?

No, haven't done that. yet. And I don't think it will pass on the failure 
code. Procmail settings are all from the HOWTO:s though.

The .forward file looks like this:

"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #extuser"

And the applicable rule in .procmailrc:
:0 w
         | $DELIVERYAGENT -d $LOGNAME -m inbox

Have to point out that this case wasn't important, but I wouldn't like the 
system to loose an important mail later.

More information about the dovecot mailing list