Why does Sendgrid show a delivered status before a block for mailbox full errors?
Summary
What email marketers say9Marketer opinions
Email marketer from Quora shares that Sendgrid uses 'Delivered' to mean the email made it to the recipient's server, and 'Block' to indicate a non-permanent delivery failure. Both statuses are part of a normal delivery attempt.
Email marketer from Stackoverflow responds that email events are inherently asynchronous, with receiving servers reporting issues (like mailbox full) *after* initially accepting the message.
Email marketer from EmailGeek Forum responds that the 'Block' event caused by a mailbox full is asynchronous. The receiving server accepts the email, and *later* asynchronously generates a bounce message (the 'Block').
Email marketer from Mailgun explains that a 'Delivered' event confirms the message has reached the destination server, a 'failed' (block) suggests a later delivery failure after acceptance
Email marketer from Mailjet Help Center that a 'Delivered' status means the email was successfully handed off to the recipient's server. The 'Block' event indicates a later failure (mailbox full, spam filter, etc.), and is common in email deliverability.
Email marketer from Twilio SendGrid Help Center responds that a 'Delivered' status in Sendgrid means the message was accepted by the recipient's mail server, but a subsequent 'Block' indicates a later delivery failure (like mailbox full). This two-step process is common as the receiving server initially accepts the email then later determines it cannot be delivered.
Email marketer from Stackoverflow explains that Sendgrid's term 'Delivered' really means 'Accepted'. The recipient server accepted the email for delivery. Later, the recipient server determined it cannot deliver the message (mailbox full) and sends back a 'Block' notification.
Email marketer from Reddit shares that Sendgrid's 'Delivered' event simply confirms that the receiving server acknowledged the email. The 'Block' event, triggered by a mailbox full, is an asynchronous response indicating a delivery failure *after* initial acceptance.
Email marketer from Email Geeks shares that this is a post-acceptance asynchronous, transient bounce. SendGrid UI calls a non-permanent bounce a block and by calling it a 'block' it accurately describes the final delivery status for the individual message. The processed event is SendGrid accepting the message via API or SMTP. The delivered event is SendGrid getting 250 OK or similar from the recipient mail system. The block event is the recipient mail system informing the sender while the message was initially accepted for delivery, that delivery attempt failed.
What the experts say5Expert opinions
Expert from Word to the Wise (Laura Atkins) explains that the delivered status prior to the block indicates a 'deferred bounce'. The receiving server initially accepts the message, and only determines later that it cannot be delivered due to issues like mailbox being full. This is standard protocol of email and is not abnormal.
Expert from Email Geeks explains that if a bounce happens 7 seconds after delivery with a mailbox full, it is not a blocking issue. Suggests suppressing the account from receiving mail if multiple Mailbox Full errors occur in a row.
Expert from Spam Resource (John Levine) explains that a 'delivered' status, followed by a block due to mailbox full, reflects the asynchronous nature of email. The initial 'delivered' means the receiving server accepted the message. The 'block' is a later notification that delivery failed. This can happen due to resource constraints, policy, or other issues on the receiving server that are not immediately apparent upon acceptance.
Expert from Email Geeks explains that Every time you see “Delivered” in Sendgrid, change it in your mind to “Accepted” - their use of the “Delivered” in this context has caused confusion multiple times in this group.
Expert from Email Geeks explains that bounces can be asynchronous and still allowed, meaning a different SMTP transaction comes back with an NDR. One use case is a mailbox full where they can't confirm that live.
What the documentation says4Technical articles
Documentation from Microsoft explains that Microsoft Exchange allows for 'deferred delivery.' The server can initially accept an email, but delay the final delivery due to temporary conditions (like mailbox full). This would result in an initial 'Delivered' status, followed later by a 'Block'.
Documentation from Sendgrid explains the different event types, the 'delivered' event means that Sendgrid handed off the email to the recipient's mail server and received a 250 OK response. A separate 'block' event indicates a non-delivery, which can happen later due to reasons like 'mailbox full'.
Documentation from RFC 5321 (SMTP) explains the standard SMTP protocol allows for message acceptance (250 OK) followed by a later delivery failure. The receiving server can accept the message initially, then determine it cannot be delivered due to policy, quota, or other issues.
Documentation from AWS SES answers question about bounce types. It shares that soft bounces, such as mailbox full, can occur after the initial acceptance of the email. So a 'delivered' status (acceptance) followed by a soft bounce (block) is a normal part of the email delivery process.