Hi,
Apologies for jumping on a list and posting without reading some first.
This issue has been driving me mad for several days so I thought I'd jump
on here and ask.
I'm helping to set up a customer mail system for my work. I'm
specifically working on the MX machine.
Right now, the company itself is using a particular domain for its Email,
lets call it example.com. But, in a classic case of not thinking far
enough ahead, it's been decided that the example.com domain will now be
used for our Email service for customers, and that corporate mail will be
moved to a new domain, lets call it example2.com.
Now of course, people have been using their example.com addresses for
months, unaware that the address would need to change, and it's been
decided that we should grandfather these addresses at least for awhile,
and some potentially for quite a long time.
So, apart from trying to persuade everybody that this is perhaps a very
bad idea, I'm stuck with the following problem:
The MX machine for our Email service will be set to receive all mail for
example.com. It will need to check for valid recipients against a list of
all our customer Email addresses, plus a list of all the addresses that
need to be grandfathered in from our current setup. Then, if the message
is accepted, the message will need to be relayed to one host if it's
customer mail, and another if it's corporate mail.
Doing this won't be very difficult. Using relay_recipient_maps will take
care of the first task, and a transport table will take care of the
second. The only problem is that I can't see how I can use the same list
for both things. It seems to me that I will have to maintain two lists,
one for validation of recipients and another for determining where the
message should be relayed.
I thought I'd discovered a solution when I came across
check_recipient_access and saw that I could specify transport and host as
well as allow mail acceptance all in one file. But it seems to me that if
a message were addressed to both a customer address and a corporate
address, the customer would never receive their copy as the message would
be relayed before it got queued.
So I would like to know two things:
1. Is all the above thinking correct or have I overlooked something?
and
2. Can anyone think of any way that I can avoid maintaining two lists of
corporate addresses?
On the latter, I'm wondering if I can specify the addresses in the
transport table and also use that table for the recipient validation. The
only thing about that is that I also need to be able to tell it to send
all other example.com mail on to the next machine in the chain and to send
other mail from mynetworks out to the Internet, without having a catch-all
entry for example.com in the recipient map.
Any thoughts on the above would be extremely helpful.
Thanks,
Geoff.