Hi,
Running Exim 3.36 on Debian.
How can I qualify sender addresses for all addresses? I think this is
something like Sendmail's masquerade feature where I want all mail sent
externally to look like it's coming form one domain, regardless of the
machine it's running on.
qualify_domain would seem like the right choice, but that messes up local
delivery (because it adds a domain to unqualified To: addresses).
/etc/email-addresses seems to work, but I'm not clear how to wild-card that
so that it works for all users so I don't have to explicitly list every user.
Here's some details:
The hostname is "burn". The FQDN for this example is "burn.foo.net"
(appologies to foo.net's owner).
The problem is if I send mail to outside machines:
echo "hello" | mail moseley@???
gives this:
...error from remote mailer after MAIL FROM: ...
501 5.1.8 <moseley@???>... Domain of sender address
moseley@??? does not exist
Which is correct, burn.foo.net does not resolve. foo.net resolves, though.
So, in exim.conf I can add:
qualify_domain = foo.net
And that fixes that problem (since foo.net really exists), but it now means
that sending to a local user on "burn":
echo "hello" | mail moseley
gets sent to moseley@??? instead of delivered locally.
I only want unqualified MAIL FROM: addresses modified, not the RCPT TO:
addresses.
Adding to /etc/email-addresses seems to be the best solution (but not
perfect):
moseley: moseley@???
but I'd like to do is
*: *@foo.net
So it covers all users.
I'm not sure what the "perfect" behavior is -- I can imagine where local
user-to-user mail might not get qualified, or just use the local host name.
So local user Joe sends mail to Bill:
joe@burn: ~$ mail "hi bill" | mail -s "greetings" bill
both addresses would remain unqualified so that when Bill replies it's
delivered locally. But:
joe@burn: ~$ mail "hi bill" | mail -s "greetings" bill@???
Then in that case Joe's address is qualified since the mail is not
delivered locally.
Thanks,
--
Bill Moseley
mailto:moseley@hank.org