On 8/19/2010 2:58 PM, Ronan Lucio wrote:
Hi All,

I need to re-install a new mail server.
So I have the actual server running on and ordered a new one
where I'm installing and configuring newer softwares.

It's done and I need to move all domains and it's accounts to
the newer server.
Once there are so many gigabytes to move, I'll need to move
domain-by-domain, the will take weeks to move it all.

My problem is the DNS propagation.
Our server are configure with a 2 hours TTL

So after I move a domain and it's accounts, the next 2 hours
both servers (old one and new one) will receive messages (due
to DNS time propagation).

What I want to is configure the old server to relay mails sent
to that moved domain, to the new server.
How can I do that?


Easy way:
Rather than forwarding mail, defer all mail for the moved domain. When the sender retries, they will eventually get the new server. This may delay some deliveries during the migration, but few people will notice. You can minimize the delays by changing your DNS TTL to a shorter value; 10~30 minutes is probably a good compromise.

This example config assumes the default smtpd_delay_reject=yes. We do this in smtpd_sender_restrictions so that a mistake doesn't make you an open relay.
# main.cf
smtpd_sender_restrictions =
  check_recipient_access hash:/etc/postfix/moved_domains
  ... any exiting checks go below here ...


# moved domains
example.com   DEFER server maintenance
example.org   DEFER server maintenance



Hard way:
When postfix accepts mail for a domain but final delivery is on a different server, it's called a relay domain. The domain name must be added to the relay_domains parameter, and valid recipients must be listed in relay_recipient_maps. It's important that the domain name is removed from all other *_domains parameters so the domain doesn't belong to multiple address classes.
http://www.postfix.org/ADDRESS_CLASS_README.html

If postfix can't find the new MX for the domain using a normal DNS lookup, add a transport_maps entry pointing to the correct server.
# main.cf
transport_maps = hash:/etc/postfix/transport

# transport
example.com  relay:[10.1.10.100]

http://www.postfix.org/postconf.5.html#transport_maps
http://www.postfix.org/transport.5.html



  -- Noel Jones

Reply via email to