When a message is received, it receives a three digit SMTP response code that is used by mail servers to communicate. There are several types of SMTP response codes:
2xx = normal response to the successful delivery of the message (Accepted).4xx = Temporary failure to deliver the message, but the action can be completed if the message is retried (Temporarily rejected)5xx = Permanent failure to deliver the message (Rejected).SMTP response codes can be found in the message headers. Below are some examples of SMTP response codes and their meaning:
Messages classified as "Accepted" have not necessarily been delivered. It only means that the message has been accepted for delivery by the filter. If the immediate delivery fails, the filter will try again at a later time. If the message is rejected by the destination server, the sender will receive a corresponding bounce message.
220 - The SMTP server is ready
250 - The requested e-mail action has been completed successfully.
Temporarily rejected messages are stored on the sending mail server. In this case, legitimate mail servers always attempt to resend a message automatically. Depending on the reason for the temporary refusal, the message may be accepted at a later delivery attempt. To disable all checks and ensure that the message is accepted, you can add the sender to a whitelist.
421 - The SMTP service was unavailable, try again later
450 - The requested action was not taken because the users mailbox was not available
451 - The requested action was aborted due to a local error in processing. Message was not sent.
452 - The command was aborted because of a lack of storage on the server
454 - TLS not available due to a temporary reason. Encryption is required for requested authentication mechanism
455 - The server cannot deal with the command at this time for an unspecified reason
Most mail servers try to resend immediately, so there is no delay in delivery. As long as all recipients use the same filter settings, the message is accepted/rejected immediately without using this procedure. If there is a delay, the sender can configure his server to either immediately try again or open a separate connection for each recipient.
Messages rejected with the following errors are blocked by the system and moved to the quarantine. If the message is not spam, you can release it from the quarantine and have it trained. You can always add the sender to the allow list and thus disable all checks. This way you can ensure that messages from this sender will be accepted by the filter in the future.
500 - A syntax error was encountered and the command could not be recognized
501 - A syntax error was encountered in the command parameters or arguments
502 - The supplied command is not implemented
503 - The server has encountered a bad sequence of commands
510 - The message could not be delivered, check the recipient address
512 - The recipient domain cannot be found
515 - destination mailbox address is invalid
521 - The recipient domain does not accept mail
523 - Server limit exceeded. The message was too large
541 - No response from host
542 - Bad connection
550 - The requested command failed because the user's mailbox was unavailable or the recipient server rejected the message due to high
probability of spam
551 - The intended recipient mailbox was not available on the recipient server
552 - The message was not sent because the recipient mailbox does not have adequate storage space
554 - The transaction failed. No other information given.
Some messages are rejected immediately without being quarantined. This happens at SMTP level and the rejection is permanent. For example, this happens to incoming messages in the following scenarios: