Messages that fail to deliver due to permanent failures will not be retried. Examples of permanent failures are:
- The recipient address does not exist
- The recipient server has blocked delivery (for various reasons)
- Mailbox full
- In general, any 5xx error we receive from the recipient server
Messages that fail to deliver due to temporary failures will be retried according to the retry schedule outlined below. Examples of temporary failures are:
- Message deferrals / throttling / rate limiting by the recipient server
- Transient recipient server issues
Retry schedule
For messages that are retried, Mailgun will re-attempt delivery in increasing intervals for a maximum of 8 hours until the message is either delivered, results in a permanent failure, or reaches the retry expiration. The intervals are:
- After the first temporary failure, the message is queued and delivery is reattempted 10 minutes afterwards
- For the second failure, the interval increases to 15 minutes
- For the third failure, the interval increases to 30 minutes
- For the fourth failure, the interval increases to 1 hour
- For the fifth failure, the interval increases to 2 hours
- For the sixth failure, the interval increases to 4 hours
Retry expiration
If a message fails to deliver after the 8 hour retry schedule outlined above, Mailgun will drop the message and generate a permanent failure with the description of "Too old".