Subject: [Emailcore] 5321bis-09: Thinking About Interaction of Code 556 with 'postmaster'

From: Sabahattin Gucukoglu <[email-masked]>
Date: Mon, 21 Feb 2022 12:27:30 +0000

Please forgive any possible repetition; I note past discussions that are adjacent but I think this is new. I am also not at my happiest at present and have been somewhat remiss in keeping up.

If I’m honest, I’m just not a fan of code 556. If somebody finds it useful, fair enough, but it seems to me to require a special-case treatment of a non-existent domain, which must be configured to be useful. It is not clear to me what’s so great about saying a domain doesn’t exist that can’t be said of a mailbox in an empty domain that doesn’t exist. From an implementation point of view, certainly, that would be an attractive option. After all, more offensive than the failure to distinguish the non-existence of a domain and a mailbox is the failure to recognise even the fact that a system is responsible for a domain; such a system might report a transaction failure with code 554, perhaps to indicate a refusal to relay mail.

But more interesting is the ‘postmaster’ alias. We have this text in draft 09 section 4.5.1:
   Any system that includes an SMTP server supporting mail relaying or
   delivery MUST support the reserved mailbox "postmaster" as a case-
   insensitive local name.  This postmaster address is not strictly
   necessary if the server always returns 554 on connection opening (as
   described in Section 3.1).  The requirement to accept mail for
   postmaster implies that RCPT commands that specify a mailbox for
   postmaster at any of the domains for which the SMTP server provides
   mail service, as well as the special case of "RCPT TO:<Postmaster>"
   (with no domain specification), MUST be supported.

Of course the most straightforward reading here is that since code 556 indicates no service, postmaster for such a domain must also be refused. But postmaster must be accepted without a domain, or for address literals which refer to this system, and since code 556 when sent by a public MX can only ever be useful if this system is reached using a valid address, it is, I suggest, hard not to speculate that postmaster ought nonetheless to be accepted for such unserviced domains.

Is there any thinking on this?

Cheers,
Sabahattin

---

From: "John Levine" <[email-masked]>
Date: 21 Feb 2022 14:10:45 -0500

It appears that Sabahattin Gucukoglu  <[email-masked]> said:
>If I’m honest, I’m just not a fan of code 556. If somebody finds it useful, fair enough, but it seems to me to require a special-case
>treatment of a non-existent domain, which must be configured to be useful.

No, 556 doesn't need any special cases. The likely scenario is that
you have a submission server, someone sends 

  RCPT TO:<[email-masked]> 

and the submission server sees that example.wtf has a null mx so it
knows there's no point to accepting the mail. It doesn't need to look
at the mailbox.  I suppose it would also be appropriate if the domain
does not exist at all, again unrelated to the mailbox.

There's also 521 and 554 which say "I am not a mail server." I don't
think that we can realistically change that to "I am not a mail server
except that I can send postmaster mail somewhere."

R's,
John