![]() ![]() ![]() |
|
richms:
What does RFC say the mail server should do if it has accepted an email and then finds that the mailbox is closed?
RFC 5321 says:
"If an SMTP server has accepted the task of relaying the mail and later finds that the destination is incorrect or that the mail cannot be delivered for some other reason, then it MUST construct an "undeliverable mail" notification message and send it to the originator of the undeliverable mail (as indicated by the reverse-path)."
Well, to my mind, "Mailbox closed" satisfies this 'notification message' requirement and in fact provides the sender with understandable information?
The RFC goes on to specify what the format of that report should be.
There's standards for a reason - so that any server from any manufacturer can talk to another, and nothing gets lost in the translation. @Rikkles, bear in mind that the sender may not speak English, or may not be human, so a human readable English message is hopeless for some recipients. The sender's mail server can convert the appropriate non delivery report to a human readable message.
EDIT: Link to RFC
Rickles:
Well, to my mind, "Mailbox closed" satisfies this 'notification message' requirement and in fact provides the sender with understandable information?
It does not provide the sending server with understandable information. It needs to be in a certain format so servers and other automated software can deal with it correctly.
For example sending to my made up noone@pole.net.nz address, my provider, FastMail, will bounce with a user friendly message as follows:
This is the mail system at host mailuser.nyi.internal.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<noone@pole.net.nz>: host mailuser.nyi.internal[/var/run/lmtpforward/outgoing]
said: 550 5.1.1 <noone@pole.net.nz>: Recipient address rejected: User
unknown in virtual mailbox table via compute2 (in reply to end of DATA
command)
And attached to that message will be a special delivery report file that says, in machine readable, format:
Reporting-MTA: dns; mailuser.nyi.internal
X-Postfix-Queue-ID: EBDB89412B
X-Postfix-Sender: rfc822; james@pole.net.nz
Arrival-Date: Mon, 1 Jan 2018 23:44:41 -0500 (EST)
Final-Recipient: rfc822; noone@pole.net.nz
Action: failed
Status: 5.1.1
Remote-MTA: dns; mailuser.nyi.internal
Diagnostic-Code: smtp; 550 5.1.1 <noone@pole.net.nz>: Recipient address
rejected: User unknown in virtual mailbox table via compute2
Servers can then read the delivery report file and take the appropriate action automatically.
That is an example of a system in compliance with the RFC. Vodafone is most certainty not in compliance with the RFC as (I presume) it does not include the correct delivery report attachment.
- James
James is correct - if the correct process was followed by vodafone, our customer would be notified in the correct way that they have a stale email address. The process we have set up for them works for any other mailbox that is closed because the destination server returns the correct error code.
Vodafone isnt responding with the correct error code during the smtp session so our correct process based on the RFC cant be actioned.
Ray Taylor
There is no place like localhost
Spreadsheet for Comparing Electricity Plans Here
|
![]() ![]() ![]() |