On 30/07/2020 12:47 am, Wietse Venema wrote:

Henry Miller:
Asking user to type in ?_submission._tcp? seems like a poor
workaround. This being Autodiscovery it?d be logical for Postfix
to automagically derive SRV lookup address based on relayhost
setting.

?relayhost = example.com? is an obvious candidate for SRV autodiscovery
if an MX lookup fails or if SRV is prefered over MX. With an
optional switch to disable ?relayhost_autodiscovery?.
Except that a) the SMTP client does not know whether a destination is
derived from the relayhost parameter and b) it's entirely legitimate
to specify the up-stream relay with transport_maps or default_transport.

That would be an argument against making the relayhost parameter
special, and in favor of using special destination syntax.

A challenge with special destination syntax (see below) is that
we want to allow these in main.cf and transport maps, but not in
user-specified email addresses.

syntax                      |lookups
==================================================
example.com                 |MX (SMTP client only) then A/AAAA
[example.com]               |A/AAAA (all programs)
_submission._tcp.example.com|SRV (SMTP client only) then A/AAAA
<example.com>               |SRV then A/AAAA (invalid outside the SMTP client)
SRV:example.com             |SRV then A/AAAA (invalid outside the SMTP client)

The fourth example uses angle brackets instead of [].

The _submission._tcp.example.com would require extra code to block
this in user-specified email addresses; the forms SRV:example.com,
<example.com> and [example.com] are rejected by Postfix's syntax
checks for email address domains.

Also where does _submissions._tcp.example.com for TLS on connect rather than STARTTLS services fit in? I assume the client autoconfig advertising should allow this since submissions has been put back on the table by the IETF. Would that be another reason to not use the _submission._tcp.example.com in config? Would it maybe be better for an option in main/overridden in master for specific transports to specify methods of host discovery with default being current behaviour of MX then A/AAAA but with the options of SRV-SMTP, SRV-SUBMISSION, SRV-SUBMISSIONS being options in a list that's tried in order?


In any case, autoconfiguration is no good without the part that
validates the hostnames in SRV responses. That part needs to be
configurable, and needs a good default value.

        Wietse

Reply via email to