After a couple of users complained, I discovered that since Monday our Discourse instance emails (via Mailgun) no longer seem to be getting through to those on Microsoft email tenants. This includes enterprise and general (e.g. hotmail.com, outlook.com).
On testing our deliverability, we didn’t have DMARC set up. This has been fixed, and we have a near perfect deliverability score now on mail-tester.com:
Your message does not contain a List-Unsubscribe header
We don’t have any customisations for our email template.
Traffic to Gmail and other services seems fine; it is just Microsoft, and this seems to be continuing 24hrs after the DMARC fix.
Of note, Mailgun has put out this notice about Microsoft and email:
In summary, if DMARC is set up, we should be fine (but currently are not). While this was meant to kick in on 2025-05-04T12:00:00Z, there is an ominous note that:
Later (date TBD): Expect full rejections for senders who remain non-compliant.
Has anyone else noticed an impact of this with their outgoing emails bouncing? Any suggestions as to how to proceed from here?
If I understand correctly, the lack of List-Unsubscribe header is just a suggestion from mail-tester.com, not necessarily the reason for the rejection by Microsoft. My guess is that the rejection is more likely to be related to your having sent emails without DMARC configuration in recent past.
When you check your Mailgun logs, what responses do you see from Microsoft for the emails that failed to be delivered?
I didn’t even know that Mailgun stores logs too - I guess that makes sense! First time I’ve had to delve in there.
This is the rejection reason for almost all of them:
4.7.500 Server busy. Please try again later from [.27]. (S77719) [SY2PEPF00004FF3.ausprd01.prod.outlook.com 2025-06-27T03:22:50.770Z 08DDB10C5071CA89]
And one a slightly more worrying from hotmail.com:
4.7.650 The mail server [.27] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://postmaster.live.com (S775) [Name=Protocol Filter Agent][AGT=PFA][MxId=11BB6463522E609D] [CY4PEPF0000EDD1.namprd03.prod.outlook.com 2025-06-27T03:22:41.176Z 08DDB231AE10F67F]
As we seem to have a shared IP address for sending email via Mailgun, and this seems to be the culprit, I’ve put a support ticket in Mailgun. Will report back.
The error that you are seeing is ESP throttling, and this occurs whenever the recipient’s email provider has received a large number of emails from a specific IP/sender in a short period of time. Due to this, they will not accept messages for a certain period of time (usually an hour; sometimes a day) until they have processed all the emails from the original batch sent. ESP throttling is a common occurrence in the email world, and we’re one of the few providers that actually show these notifications in the email logs.
The error code of “4xx” indicates that this is a soft, temporary bounce. Whenever we attempt to deliver a message and the recipient server returns a soft bounce, we will retry delivery for up to 8 hours in the following intervals: 10 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, and 4 hours. These intervals are not able to be adjusted at this time.
This issue should clear up after some time. However, if you’re still not seeing any improvements, please reach back out! We’ll be happy to take another look at that time.
Well, this doesn’t gel with the fact that all Microsoft email services are blocking our emails (not just a few isolated ones). Will let you know how this unfolds from here, as it doesn’t look like I can do anything else right now.
The line above is essentially saying that there is a reason for the throttling (beyond just receiving a large number of emails), and that is IP reputation. You can find your sending IP from emails Mailgun sends out on your behalf, and check your sending IP reputation (you can find some suggestions here).
If you find that the reputation of your sending IP is poor, you can ask Mailgun to move you to another server.