pipe trouble

Top Page
Delete this message
Reply to this message
Author: Neal Becker
Date:  
To: exim-users
Subject: pipe trouble
I'm having pipe trouble. This seems to be working, except for
'transport returned 1...'.

I tried this to take care of my gone users:

gone_away_transport:
driver = pipe;
user = nobody,
command = "/usr/local/lib/exim/gone-away.sh"

gone_away:
local_parts = lsearch;/usr/local/lib/exim/gone-away
fail_verify,
driver = smartuser,
transport = gone_away_transport;

It seems to be working, except for:

A message that you sent could not be delivered to all of its recipients. The
following address(es) failed:

  gone@???:
    Child process of gone_away_transport transport returned 1 for command /usr/local/lib/exim/gone-away.sh


Turning on debugging:

pipe command after expansion:
argv[0] = /usr/local/lib/exim/gone-away.sh
set_process_info: 14167 1.58 reading output from /usr/local/lib/exim/gone-away.sh
Writing message to pipe
writing data block: timeout=0
gone_away_transport transport yielded 2
post-process gone@???
LOG: MAIN
** gone@??? D=gone_away T=gone_away_transport: Child process of gone_away_transport transport returned 1 for command /usr/local/lib/exim/gone-away.sh

Why does it say transport returned 1? I can run the command manually,
and the returned status is OK:

/bin/sh /usr/local/lib/exim/gone-away.sh && echo hello
Your mail to @ was not delivered because that user no
longer has an account on this system.
hello