[exim] Child process return 255 ? Can I re-queue messages au…

Top Page
Delete this message
Reply to this message
Author: Andrew Nelson
Date:  
To: exim-users
Subject: [exim] Child process return 255 ? Can I re-queue messages automatically?
Hi,

I have this transport:

process_mail:
driver = pipe
freeze_exec_fail = true
command = "/etc/mail/process.pl ${sender_address} ${local_part} ${domain}
${pipe_addresses}"
check_string =
escape_string =
return_output = false
return_path_add = false
headers_add = testing "done"
path = "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
current_directory = "/tmp"

It works perfectly 99.5% of the time but occasionally it bounces a message
back to the sender "local delivery failed" and in the log:

2005-06-28 12:00:15 1Dn5OU-0003lZ-00 ** recipient@???
R=process_mail_router T=process_mail: Child process of process_mail
transport
returned 255 (could mean shell command ended by signal 127 (unrecognized
signal number)) from command: /etc/mail/process.pl

It must be some sort of load issue i've got to work out because if they
try and send the same message again 10 minutes later it goes through.
The script just performs some trivial contents checks based on a user
configurable database.

Regardless of the problem, how can I get exim to re-queue the message
on this type of failure and NOT bounce it straight away? Also - any
suggestions for debugging the actual error?

Thanks,
Andrew.