Sending to multiple email servers
William Burns
William.Burns at AEROFLEX.COM
Sat Apr 3 01:56:05 IST 2004
Howard:
You're using postfix? I can't answer the question for that application,
but I know how to do it w/ sendmail.
First, to re-create your existing setup...
You've got balanced MX records pointing to two MailScanner machines:
# cat named.mydomain.com
> @ IN SOA ns.mydomain.com. spambucket.mydomain.com. (
...
> IN NS ns.mydomain.com.
> IN MX 10 mailscanner1.mydomain.com.
> IN MX 10 mailscanner2.mydomain.com.
Next, you've got to create a subdomain for your downstream mail servers.
In this example, the subdomain will be mailboxes.mydomain.com.
I don't know if your 3 mail servers are peers, or if one is primary, and
the other 2 only relays.
I'll balance the MX records as if the second 2 servers are relays.
>
> mailboxes IN MX 10 mailserve1.mydomain.com.
> IN MX 20 mailserve2.mydomain.com.
> IN MX 20 mailserve3.mydomain.com.
Now, aside from the relay configs that you'll need for sendmail, you
have to do this:
In the /etc/mail/mailertable file, add the following line:
> mydomain.com smtp:mailboxes.mydomain.com
note: don't forget to build the resulting mailertable.db file.
when sendmail sees this, it will do an MX lookup against
mailboxes.mydomain.com in order to find out where to send mail for the
domain mydomain.com.
There's also an interesting way (in sendmail) to avoid the MX lookup by
using square brackets like this: [mailboxes.mydomain.com]. That would
mean "send mail to a machine named mailboxes" instead of sending through
the MX records for "mailboxes".
You might want to use that technique on mailserve2, and mailserve3 if
they're relay machines. That way, you'd avoid some useless DNS lookups.
On mailserve2, for example:
cat /etc/mail/mailertable
> mydomain.com smtp:[mailserve1.mydomain.com]
Now, if you hard-code the IP for mailserve1.mydomain.com into the host
file for the mail-relay named "mailserve2", you wont need to do any DNS
queries to deliver mail from that machine.
I figure other MTAs should be configurable to work this way too.
Hopefully that helps.
-Bill
Howard Yuan wrote:
>Hello all.
>
>I currently have my MailScanner set up to receive mail for anything
>going to mydomain.com. Its configured to receive the email, scan it for
>viruses and spam, then send it off to my main mailserver, which
>distributes the mail to my users. I have three mailservers (in case one
>goes down). I was wondering if its possible to set up the MailScanner
>to...well, what I'm worried about is if my main mailserver goes down.
>Then MailScanner will have no where to send the email. Normally, a
>mailserver would scan through the mx records and go to the next server
>listed to try to send the email before it sets it aside for retry. I
>would like MailScanner to do something equivalent, where it'll try to
>send it to one mailserver, if that fails, to try another one, and so on
>and so forth before it gives up. Any ideas? Thanx in advance.
>
>Howard
>
>
>
More information about the MailScanner
mailing list