Re: [exim] exim4 Versions above about 4.80 Don't Talk to my …

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: Martin McCormick
CC: exim-users
Subject: Re: [exim] exim4 Versions above about 4.80 Don't Talk to my ISP's smarthost.
On 2018-05-31 at 21:41 -0500, Martin McCormick via Exim-users wrote:
>     The last part of this long message is the log of the
> delivery attempt.  As you see, I do now log in to the smarthost
> and the only reason for the failure is that the sender name gets
> changed.

>
>     The ISP knows me as martin.m which is why the process
> still falls short.  End of message except for the long log.


I'm going to just discuss the Exim side of things, terminology and such,
to hopefully provide enough context and terminology for you; I can't
really help with the Debian config building.

There are two different identifiers:

1. Which address is the sender of the email
2. What is the authentication account for SMTP AUTH

The log-file you show has the authentication account (2) as martin.m
which all works fine.

If you generate mail with a particular sender (1), then that's what Exim
normally sends. You can use "rewrites" to change that.

I suspect that in your upgrade you lost a rewrite configuration item.

Does this provide enough terminology to let you fix it?

Exim's use of Rewrites is not the same as Sendmail's. Sendmail uses
rewrites for deciding how to send a message, and they're a core part of
routing. Exim does not, the recipient and sender addresses should not
be changed to make routing decisions, that's why we have Routers. But
if you do explicitly want to mutate an email address, you do still need
rewrites.

<https://www.exim.org/exim-html-current/doc/html/spec_html/ch-address_rewriting.html>

I simplified a little above, (1) should be (1a) and (1b), where there's:

1a. The SMTP Envelope Sender
1b. Some "Internet Message Format" header ("From:", "Sender:", ...)

I suspect that you want the SMTP Transport used for the smarthost
connection to do two things:

  i) set the `return_path` option to the same identifier used for
     authentication; this handles (1a)
  ii) use `headers_rewrite` to rewrite the From: header in the same way,
      to handle (1b)


If you want these to apply to all messages processed, not just those
sent to that smarthost, then this can be done a little more simply in
the rewrites section of the config file.

-Phil