Hi,

I noticed that Postfix doesn't fall back on other IP addresses
associated with a certain MX-server when it fails to accept mail, but
only uses the firs IP address it finds. If that fails, Postfix will move
on to the next MX-server, but won't try any other available IP addresses
for each of the MX-servers.
This can be particularly troublesome for MX-servers with both IPv4 and
IPv6 addresses, where Postfix will only use the IPv6 address (assuming
postfix is configured with both IPv4 and IPv6 enabled), but won't fall
back on the IPv4 address if IPv6 fails.

For clarity, the setup I'm describing looks as follows:

example.com. IN MX 10 mx1.example.com.
example.com. IN MX 10 mx2.example.com.

mx1.example.com. IN A some.IPv4.add.ress
mx1.example.com. IN AAAA some:IPv6:add:ress

mx2.example.com. IN A some.IPv4.add.ress
mx2.example.com. IN AAAA some:IPv6:add:ress

Postfix will try the IPv6-address of mx1, and if that fails it'll ignore
the IPv4-address of mx1, but will skip to mx2 right away. It'll try the
IPv6 address of mx2 and if that also fails, then this delivery attempt
defers alltogether.
If for some reason there is something wrong with IPv6 connectivity
(which unfortunately appears to happen quite often now that IPv6 becomes
more widely spread but people don't always quite understand it yet),
then postfix won't be able to deliver mail at all because of this behaviour.
As long as there is at least one IPv4-only MX-server, one wouldn't
notice this behaviour. However as soon as you're being "really good" and
equip all your MX-servers with IPv6 addresses, then all of a sudden
postfix setups with broken IPv6 connectivity will stop delivering mail.

In my humble opinion, it would be way better if postfix would only give
up on an MX after it tried all available IP addresses. Or at the very
least after trying at least one IPv4 and one IPv6 address, but I'd
strongly prefer trying all available IP addresses before giving up.

Any thoughts?

Kind regards,

Erik Logtenberg.

Reply via email to