Postfix transport map with failover entries?
Postfix relays a few domains to a fixed IP address, or its failover address.
1.2.3.4 and 11.12.13.14 (failover)
These two IP addresses are where the relay should occur.
Currently, transport_map
exemple1.com relay:[1.2.3.4]:587
exemple2.com relay:[1.2.3.4]:587
Is there a way, in case [1.2.3.4] times out, to use the failover automatically, like
exemple1.com relay:[1.2.3.4]:587
exemple2.com relay:[1.2.3.4]:587
exemple1.com relay:[11.12.13.14]:587
exemple2.com relay:[11.12.13.14]:587
Would that work?
(There is this question which is a tad different. Adding multiple IPs to /etc/hosts (or DNS if that was possible) would use either IP. In my case the failover should only be used if the main one times out)
Solution 1:
Excerpt from Postfix 3.5 release notes
[Feature 20200111] the Postfix SMTP and LMTP client support a list of nexthop destinations separated by comma or whitespace. These destinations will be tried in the specified order.
The list form can be specified in relayhost, transport_maps, default_transport, and sender_dependent_default_transport_maps.
Examples:
/etc/postfix/main.cf:
relayhost = foo.example, bar.example
default_transport = smtp:foo.example, bar.example.
NOTE: this is an SMTP and LMTP client feature. It does not work for other Postfix delivery agents.
If you don't have Postfix 3.5 you can specify the destination as a domain name without brakets - postfix will do MX lookups for that domain name and use MX to send the email.