1

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)

3
  • 2
    The transport (5) man page says: In the сase of the Postfix SMTP/LMTP client, the nexthop field may contain a list of nexthop destinations separated by comma or whitespace (Postfix 3.5 and later). No further explanation is given about interpretation of such token. Probably it's worth asking in the Postfix users mailing list. Dec 27, 2021 at 7:37
  • Great, thanks. We're on Postfix 3.3 (Ubuntu 18.04 LTS) though.
    – Déjà vu
    Dec 27, 2021 at 7:47
  • so did it work ? how did you write like this ? exemple1.com relay:[1.2.3.4]:587,relay:[11.12.13.14]:587 exemple2.com relay:[1.2.3.4]:587,relay:[11.12.13.14]:587
    – csx4
    Sep 1, 2023 at 18:29

1 Answer 1

3

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.

1
  • Will this work with the relay: prefix in transport (syntax in the question). Like exemple1.com relay:myMxDnsEntriesHost:587 ? If yes, that's a great idea, as MX includes priorities!
    – Déjà vu
    Dec 27, 2021 at 8:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .