Email sending from the B2B SaaS is normally handled by Amazon's AWS Simple Email Service. When the service is unable to deliver email or a bounce message is received from the destination server SES generates a bounce notification that is processed by B2B's system. Bounce notifications come in three "Bounce Types": Transient, Permanent and Undetermined. In addition to "Bounces" it is possible that a "Complaint" may be made that an email was spam.
Email addresses that generate a complaint are immediately invalidated. Permanent and Undetermined bounce types also cause an email address to be invalidated.
For Transient bounces the AWS Sub Bounce Type and the IANA SMTP status code definitions are used to decide whether or not to invalidate an email address.
Most Transient bounce Sub Types are ignored however certain Statuses attached to a Transient bounce of sub type General will result in the address being marked as invalid. These statuses (with their IANA definitions) are:
- 5.1.0 - Something about the address specified in the message caused this DSN
- 5.1.1 - The mailbox specified in the address does not exist. For Internet mail names, this means the address portion to the left of the "@" sign is invalid. This code is only useful for permanent failures.
- 5.1.2 - The destination system specified in the address does not exist or is incapable of accepting mail. For Internet mail names, this means the address portion to the right of the "@" is invalid for mail. This code is only useful for permanent failures.
- 5.1.3 - The destination address was syntactically invalid. This can apply to any field in the address. This code is only useful for permanent failures.
- 5.1.6 - The mailbox address provided was at one time valid, but mail is no longer being accepted for that address. This code is only useful for permanent failures.
- 4.1.7 and 5.1.7 - The sender's address was syntactically invalid. This can apply to any field in the address
- 4.1.8 and 5.1.8 - The sender's system specified in the address does not exist or is incapable of accepting return mail. For domain names, this means the address portion to the right of the "@" is invalid for mail.
- 4.1.10 and 5.1.10 - This status code is returned when the associated address is marked as invalid using a null MX.
- 5.2.1 - The mailbox exists, but is not accepting messages. This may be a permanent error if the mailbox will never be re-enabled or a transient error if the mailbox is only temporarily disabled.
- 4.4.7 - The message was considered too old by the rejecting system, either because it remained on that host too long or because the time-to-live value specified by the sender of the message was exceeded. If possible, the code for the actual problem found when delivery was attempted should be returned rather than this code.
- 5.7.13 - Sometimes a system administrator will have to disable a user's account (e.g., due to lack of payment, abuse, evidence of a break-in attempt, etc). This error code occurs after a successful authentication to a disabled account. This informs the client that the failure is permanent until the user contacts their system administrator to get the account re-enabled. It differs from a generic authentication failure where the client's best option is to present the passphrase entry dialog in case the user simply mistyped their passphrase.
Note that a small number of statuses that would normally be considered temporary i.e. 4.x.x, are still considered sufficiently serious to warrant invalidation of an email address. These are considered by B2B to be errors that are most likely due to an incorrect email address. For example the 4.4.7 message is most often generated when a DNS lookup of the receivers domain fails for over 12 hours. In such a case it is most likely that the domain does not exist rather than a truly transient error.
All other bounce types and status will NOT result in email address invalidation.
0 Comments