Re: [Exim] Unknown users and return-path/Resent-from

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: John Horne
CC: Exim Users List
Subject: Re: [Exim] Unknown users and return-path/Resent-from
On Wed, 16 Feb 2000, John Horne wrote:

> If the local (to us) user then forwards
> the message to one or more people (which all go via the mailhub), and that
> new recipient may or may not forward it again to one or more people, then if
> one of the new recipients is an unknown user the mailhub sends the failure
> message back to the very original sender - who obviously has no idea about
> the failed user and never sent the message to them in the first place!


This is a general problem with forwarding. There is no sensible answer.
If A sends a message to B and B forwards to C but C does not exist, what
should you do? I maintain that the only thing you can do is to tell A.
At least she knows her message didn't get through. Some people say you
should put it in B's mailbox, ignoring the forwarding, but that doesn't
seem sensible to me. B thinks nothing is going there, and won't look at
it. You just waste disc space. Also, there is the case when B's account
doesn't exist any more, but there's courtesy forwarding going on.

What you could do is to arrange for errors to go to B's postmaster,
assuming that they are prepared to handle this particular load.

> We (the postmasters) then get the message sent back to us asking why we had
> sent them a failure message about someone they don't know.


At least some humans get involved and can sort the mess.

> This has worked well for a long time now, but I am wondering if the
> smartuser director needs a 'new_address' setting and if so, would the
> $reply_address or $return_path be better?


Er, "new_address" changes the *recipient* address. Do you mean
"errors_address"?

> My understanding is that the
> transport should be using the message headers (which is the $reply_address)
> to send the failure message back,


NO! NO! Only the envelope sender address ($sender_address) is ever used for
sending bounce messages. What is in the headers is not relevant.

> I have noticed that the message from the file server contains the external
> user in the From: field, it has the correct Resent- fields (i.e. they are of
> local users), but that it also contains a Return-path: field which has the
> external users address. I am surprised (and confused) as to how this has
> managed to last all the way through since upon the messages original arrival
> at the mailhub the Return-path header should have been taken off. The
> envelope from is obviously going to change to the mailhub and then the file
> servers, so how the external address remained is baffling.


The envelope from won't change (on an Exim system) unless you configure
it to be changed using errors_address.

> Despite all of that, I thought that the message should have gone back to the
> Resent-from: header address, which is a local user.


Definitely not. MTAs work on envelopes only.


-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.