On Sat, 5 May 2001, John Holman wrote:
> As I understand it, exim verifies an envelope sender address by asking
> whether a message (e.g. an error message) could successfully be sent to that
> address. To determine this the address is processed as if it were an
> envelope recipient address and considered valid if it is accepted by a
> director or router.
Correct, with the proviso that special processing can be specified by
"verify_only" and related options.
> However it seems that this principle does not extend to address rewriting.
> For example we have a rewrite rule that applies to envelope recipients:
>
> *@qmul.ac.uk $1@??? T
>
> This is intended to help in the early stages of changing our internet domain
> from qmw.ac.uk to qmul.ac.uk.
> The idea is that incoming mail addressed to the new domain should be
> delivered to the old addresses, while users here can configure their clients
> to set their sender address to the new domain for outgoing mail without it
> being rewritten by the central mail relays.
You are using rewriting as a means of routing. This is not a recommended
thing to do. Assuming that qmul.ac.uk is a local domain, a non-rewriting
way to achieve this is a director like this:
qmul_to_qmw:
driver = smartuser
domains = qmul.ac.uk
new_address = ${quote:$local_part}@???
> I had expected that this rule, because it applies to envelope recipients,
> *would* be applied to sender addresses in the context of sender
> verification. After all, mail can successfully be sent to the new addresses.
> But exim doesn't seem to work that way - the rule is not applied and
> verification fails.
>
> Is this a problem with exim, or with my understanding?
I'm not sure :-) but it is because you are looking at this in a
different way to me. I never considered this particular scenario. Exim
just tries to verify the sender address it actually gets (with *sender*
rewrites).
I will think about this for Exim 4.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.