[Dovecot] Sendmail + deliver; silent errors.

Daryl Tester dt-dovecot at handcraftedcomputers.com.au
Fri Mar 19 13:18:44 EET 2010

Daryl Tester wrote:

>>> When sendmail attempts delivery, I'm getting "deferred: deliver
>>> failed with EX_TEMP", but nothing recorded in the log files.

Gnargh, found it.  After adding an freopen() to deliver to capture
stderr (because sendmail sure as heck wasn't), deliver was reporting
"stat(deliver) failed: No such file or directory".

> Mdovecot,   P=/opt/dovecot-1.2.9/libexec/dovecot/deliver, F=lADFMPhnu9,
>                 S=EnvFromL/HdrFromL, R=EnvToL/HdrFromL,
>                 T=DNS/RFC822/X-Unix,
>                 A=deliver -d $u

Change the last line ("Argv") to

A=/opt/dovecot-1.2.9/libexec/dovecot/deliver -d $u

sets argv[0] to the full path of the binary so the permissions check in
deliver succeeds.  Which in hindsight explains why it worked with a
wrapper script or strace; they both would have set the full path

I can't believe I've spent most of an afternoon on this.  <hangs head
in shame>

  Daryl Tester

Member of the Amalgamated Australian Association Against Apostrophe Abuse.
(formerly the 6A's - no, wait ...).

More information about the dovecot mailing list