Re: [Exim] Broken pipe SMTP external delivery (SOLVED)

Top Page
Delete this message
Reply to this message
Author: Nigel Pegram
Date:  
To: exim-users
CC: Philip Hazel
Subject: Re: [Exim] Broken pipe SMTP external delivery (SOLVED)
I've solved my broken pipe problem, but since it seemed a little out of the
ordinary, I'm including some history and the solution.

When first installing exim, I found a set of instructions on how to set
things up for a dial-up system where the internal addresses were different
from the address used to send/receive from the ISP. Those instructions said
to use a transport filter on the external SMTP transport. The script
referred to in the transport_filter line is below, modified for my purposes.

==========

#!/usr/bin/perl
while (<STDIN>) {
if (/^From: /) {
s/'don@???'/'editor.ac@???'/;
s/'root@???'/'npegram@???'/;
s/'nigel@???'/'npegram@???'/;
print "$_"; last;
}
print "$_"
}

while (<STDIN>) { print "$_"; }

==========

At this point, I hadn't heard of address rewriting, but when it came up on
the list recently, and as I could successfully conduct an SMTP session using
the same addresses that were failing with the broken pipe, I guessed that
this filter might be a source of the problem. Replacing the transport filter
with a rewriting rule that looked up an email address substitution file
worked perfectly, and now I can send with no hiccoughs.

I do not know why the filter caused the broken pipe, whether it highlights a
bug or simply shows a way NOT to do something.

Anyhow, thanks for the help.

Regards,
Nigel.