Hi [2024-04-16 16:44] "James J. Lippard" <lippard-opensm...@discord.org> > I run dual-stack IPv6/IPv4 networks, including mail servers. On occasion > I may not have IPv6 connectivity, but have IPv4 connectivity. When that > happens, I find that my mail queue accumulates mail that arrives over > IPv6, but cannot be sent out on an IPv6 interface.
Which IP version was used to enqueue a mail is indipendent from the IP version used to relay a mail. Also for most cases dual stack just works(tm) when using hostnames with A and AAAA records and use "listen on" with interface name. > (1) How to relay both IPv4/IPv6 outbound mail, regardless of whether it > came to the mail server via IPv4 or IPv6? > > Is it possible to set up a relay action that works with either IPv6 or > IPv4, perhaps with a preference for one or the other? I've tried > using "src <IPv4-addr>|<IPv6-addr>" on my relay action, but this > results in "No valid route to destination" errors (apparently due to > the name resolution on the smtp+tls:// URL returning the address from > the family opposite the selected src interface?). > > I'd like inbound mail to come in via IPv4 or IPv6 and go out with a > preference for IPv6 but still work with IPv4 if IPv6 is unavailable. I don't understand what what exactly is the problem. Can you share your config and a short explanation what you want to achive? Some logs showing the problem could also help. > (2) How to set up a secondary relay to use if a destination relay is > unavailable? > > Is it possible to define multiple relay hosts in one action, or to > specify that a second relay action is to occur in the event of failure > of the first using match rules? The host option of action relay takes a table. So you can simply specify multible relay-urls with something like: > { smtp+tls://hosta.example.com , smtp+tls://hostb.example.com } Philipp