Title: Error Diagnosis on Pipe Transports
Topics: blog, Exim
Date: 2009-06-09

Maildrop exits in certain cases with exit code 75. This signals a temporary error to Exim, but no further

explanation can be learned from the exim log file:


2009-06-09 11:58:32 1MDy6C-0003Lm-Ky == [[mailto:racke@linuxia.de][racke@linuxia.de]] R=virtualuser T=vinson_virtualuser_drop defer (0): Child process of vinson_virtualuser_drop transport returned 75 (could mean temporary error) from command: /usr/bin/maildrop

For better diagnosis, add the log_defer_output and log_fail_output options

to the corresponding pipe transport, e.g.:


vinson_virtualuser_drop:

driver = pipe

command = /usr/bin/maildrop -d virtmail

environment = VUSER=$local_part@$domain:${lookup mysql{select concat('VDIR=',maildir,':VAWAY=',absence_active,':VAWAYFROM=',UNIX_TIMESTAMP(absence_from),':VAWAYTO=',UNIX_TIMESTAMP(absence_to),':VAWAYSUBJECT=',absence_subject,':VAWAYCOPY=',absence_copy) from users where username='${quote_mysql:$local_part}@${quote_mysql:$domain}'}{$value}}

user = virtmail

# log maildrop's output in case of deferred or failed delivery for diagnosis

log_defer_output

log_fail_output