著者: Bruce A. Bergman 日付: To: exim-users 題目: [exim] How do I force exim to dnslookup certain addresses?
Hello group!
Newbie exim admin here. I am very experienced with sendmail, but on my new server (Debian 6), I've decided to give exim4 a try. I've got it pretty well laid out, but with ONE small, tiny puzzle. Hence why I'm asking you! ;-)
By way of explanation of what I want, here's my (fake) example:
Server and domain that exim4 is running on: goofy.com
Primary use: ecartis mailing list host. In /etc/aliases, I have all the valid ecartis mail aliases that can be accepted. For example: test-l@???, blah-l@???, etc.
When I go to mail to test-l@??? (locally or remotely), I would like that address (basically any address in /etc/aliases) handled locally. In this case, piped to the ecartis executable. THIS WORKS.
What doesn't work is that if I have any local (goofy.com) addresses in the mailing list (i.e., john@???), then when ecartis emails the mailing list message out, it tries to deliver john@??? locally, but there is NO mailbox/user/address by that name. And so I get an "Unrouteable address" error sent back. All the other non-local users get their mailing list message just fine (as expected).
After much trial and error, I give up. I THINK what I need is this chain of logic:
If the incoming destination address exists in /etc/aliases, deliver it per the rules in that alias file. If it does NOT exist in that file, regardless of whether it is the local domain or not, do a dnslookup and deliver thusly. Using my example above, blah-l and test-l exist in /etc/aliases, so those should be handled as per the rules in that file. john@ is NOT in that file, even though it is part of the local domain, so I would like it to then dnslookup that address (where it will see that it is off-host) and deliver it there.
How can I achieve this? Please let me know if this explanation isn't clear, or anyone would like more detailed information.