I have a daily report sent through AWS SES to an Outlook mailbox on workdays. For some reason outlook marked yesterday's and Friday's emails as 'Unverified sender'. Today's email wasn't marked as 'Unverified sender'. Any previous emails before Friday also weren't marked as 'Unverified sender'. Close inspection of the email headers shows only the following relevant difference:
Authentication-Results: spf=pass (sender IP is 54.240.48.132) smtp.mailfrom=amazonses.com; dkim=pass (signature was verified) header.d=amazonses.com;dmarc=fail action=none header.from=xxxxxx.com;compauth=fail reason=001 Received-SPF: Pass (protection.outlook.com: domain of amazonses.com designates 54.240.48.132 as permitted sender) receiver=protection.outlook.com; client-ip=54.240.48.132; helo=a48-132.smtp-out.amazonses.com; pr=C Full headers for failing message
Authentication-Results: spf=pass (sender IP is 54.240.48.130) smtp.mailfrom=amazonses.com; dkim=pass (signature was verified) header.d=xxxxxx.com;dmarc=pass action=none header.from=xxxxxx.com;compauth=pass reason=100 Received-SPF: Pass (protection.outlook.com: domain of amazonses.com designates 54.240.48.130 as permitted sender) receiver=protection.outlook.com; client-ip=54.240.48.130; helo=a48-130.smtp-out.amazonses.com; pr=C Full headers for normal message
The same messages are sent to a Gmail account, where they always pass DMARC checks. For example, there are full headers for yesterday's message received in the Gmail account with the same Message-Id as the failing message in the Outlook account.
There were no changes to DNS, SES settings or the Lambda function used to send the messages in the last two weeks. All these things are managed by Terraform and there are no changes in the source code and no drift in the terraform plan.
The DMARC reports from [email protected] seem to be messed up - the last one I received on Sep 2 was for the period between 2024-08-27 00:00:00 UTC to 2024-08-28 00:00:00 and the previous one on Aug 31 was for period 2024-08-29 00:00:00 UTC to 2024-08-30 00:00:00 UTC and no reports for the period of the failures yet.
I wonder if I'm missing something in the mail headers that caused this DMARC failure.
Custom MAIL FROM domainin ses for your sender identity??Custom MAIL FROMconfigured for the source domain and it shows asSuccessfulin the SES control panel but for some reason, I don't see it in the headers. I suspect it uses a different identity, the source email instead of the domain, and it doesn't haveCustom MAIL FROM.