azure.com
Good, with 2 things to fix
azure.com scored 80/100 (grade B). The main issues are no DKIM key found for the common selectors and DMARC: subdomain policy is weaker than the domain policy. Detected senders: Microsoft 365 and SparkPost.
Checked 2026-10-04 02:02 UTC · fresh check
Strengthen the DMARC policy
Rejects mail that fails DMARC, the strongest protection against spoofing. Changes: Subdomains move one step, from sp=none to sp=quarantine.
_dmarc.azure.com
Some DNS providers want just “_dmarc” here.
v=DMARC1; p=reject; sp=quarantine; rua=mailto:rua@dmarc.microsoft; adkim=r; aspf=r
v=DMARC1; p=quarantine; sp=none; pct=100; rua=mailto:rua@dmarc.microsoft; ruf=mailto:ruf@dmarc.microsoft; fo=1
How to apply it
- Sign in where your domain’s DNS is managed. This is often where you bought the domain, such as Cloudflare, GoDaddy or Namecheap.
- Find the existing TXT record with that name and replace its value.
- Save, then come back and re-check. DNS changes can take up to a few hours to show.
All checks
MXCan servers find your inbox?Only one MX hostInfo
- Info: Only one MX host
All mail for azure.com goes to azure-com.mail.protection.outlook.com. Most hosted providers make that one name highly available; if you run your own server, consider a backup MX.
SPFWho may send as you?SPF ends in softfail (~all)Info
- Info: SPF ends in softfail (~all)
"~all" is common and works well with DMARC. "-all" is stricter; switch when you are sure every sender is listed.
DKIMAre your emails signed?No DKIM key found for the common selectorsNeeds attention
- Warning: No DKIM key found for the common selectors
None of the 47 selectors probed under azure.com publish a DKIM key. DNS cannot list selectors, so a key under a custom selector may exist: find the s= value in the DKIM-Signature header of a message you sent and check that selector. If DKIM is not set up, enable it at each service that sends mail for azure.com.
DMARCWhat happens to fakes?Subdomain policy is weaker than the domain policyNeeds attention
- Warning: Subdomain policy is weaker than the domain policy
sp=none is weaker than p=quarantine, so attackers can spoof any subdomain of azure.com (for example billing.azure.com) even though the main domain is protected.
How to fix this - Info: DMARC policy is quarantine; consider reject
Failing mail goes to spam rather than being refused. When reports show no legitimate failures, reject gives the strongest protection.
How to fix this
AlignmentDoes it match your From?SPF alignment depends on a custom Return-PathInfo
- Info: SPF alignment depends on a custom Return-Path
This is a heuristic. Your SPF record only authorizes third-party senders (sparkpostmail.com). By default they bounce from their own Return-Path domain, and SPF then passes for that domain, not azure.com. Even relaxed alignment needs the Return-Path's organizational domain to be azure.com, so set up a custom Return-Path (bounce) domain under azure.com with each provider, and sign with DKIM as azure.com.
BIMICan inboxes show your logo?No BIMI recordInfo
- Info: No BIMI record
No BIMI record at default._bimi.azure.com. BIMI is optional: it shows your logo next to your mail in supporting inboxes once DMARC is enforced.
How to fix this
MTA-STSIs mail to you encrypted?No MTA-STS recordInfo
- Info: No MTA-STS record
No MTA-STS record at _mta-sts.azure.com. MTA-STS (RFC 8461) makes sending servers require TLS and a valid certificate when delivering to you, which blocks downgrade attacks.
How to fix this
TLS-RPTWill you hear about failures?No TLS-RPT recordInfo
- Info: No TLS-RPT record
No TLS reporting record at _smtp._tls.azure.com. TLS-RPT (RFC 8460) tells senders where to send daily reports about failed encrypted deliveries to you.
How to fix this
Other fixes
Enable DKIM for Microsoft 365instruction
Microsoft 365 generates the DKIM key for each account, so the exact record must come from Microsoft 365. Without DKIM, mail it sends for azure.com cannot pass DMARC through DKIM.
Applies to: selector1._domainkey.azure.com
- In Microsoft 365, enable DKIM signing for azure.com: tenant-specific: copy Selector1CNAME/Selector2CNAME from Microsoft 365 Defender > Email authentication > DKIM. Publish exactly the record Microsoft 365 shows (TXT or CNAME) at the host name it gives, then turn signing on. Instructions: https://learn.microsoft.com/microsoft-365/security/office-365-security/email-authentication-dkim-configure
Enable DKIM for Microsoft 365instruction
Microsoft 365 generates the DKIM key for each account, so the exact record must come from Microsoft 365. Without DKIM, mail it sends for azure.com cannot pass DMARC through DKIM.
Applies to: selector2._domainkey.azure.com
- In Microsoft 365, enable DKIM signing for azure.com: tenant-specific: copy Selector1CNAME/Selector2CNAME from Microsoft 365 Defender > Email authentication > DKIM. Publish exactly the record Microsoft 365 shows (TXT or CNAME) at the host name it gives, then turn signing on. Instructions: https://learn.microsoft.com/microsoft-365/security/office-365-security/email-authentication-dkim-configure
Enable DKIM for SparkPostinstruction
SparkPost generates the DKIM key for each account, so the exact record must come from SparkPost. Without DKIM, mail it sends for azure.com cannot pass DMARC through DKIM.
Applies to: scph0123._domainkey.azure.com
- In SparkPost, enable DKIM signing for azure.com: account-specific: copy the CNAME/TXT from the SparkPost dashboard. Publish exactly the record SparkPost shows (TXT or CNAME) at the host name it gives, then turn signing on. Instructions: https://support.sparkpost.com/docs/getting-started/setting-up-domains
Publish the MTA-STS recordTXT
Tells sending servers that azure.com publishes an MTA-STS policy at https://mta-sts.azure.com/.well-known/mta-sts.txt. Change the id whenever the policy file changes.
_mta-sts.azure.com
Some DNS providers want just “_mta-sts” here.
v=STSv1; id=202610040202
Host the MTA-STS policy filepolicy-file
Serve this file over HTTPS with a valid certificate for mta-sts.azure.com. It lists your MX hosts and starts in testing mode; switch to mode: enforce once TLS-RPT reports show no failures.
https://mta-sts.azure.com/.well-known/mta-sts.txt
version: STSv1 mode: testing mx: azure-com.mail.protection.outlook.com max_age: 604800
Set up a TLS report addressinstruction
Sending servers will report TLS failures when delivering to azure.com, which you need before enforcing MTA-STS. The address must accept TLS reports; a DMARC report address does not necessarily do so.
Applies to: _smtp._tls.azure.com
- Pick an address that will receive TLS reports: a mailbox you read (for example tls-reports@azure.com, created first) or a TLS reporting service. 2. Publish a TXT record at _smtp._tls.azure.com with the value v=TLSRPTv1; rua=mailto:<that address>.
Prepare BIMIinstruction
BIMI shows your logo next to messages in supporting inboxes, but only for mail that passes DMARC under an enforced policy.
Applies to: default._bimi.azure.com
- Enforce DMARC first: p=quarantine or p=reject at 100% (no pct below 100). 2. Convert your logo to an SVG Tiny PS file and host it over HTTPS, for example https://azure.com/bimi/logo.svg. 3. For Gmail and Apple Mail, obtain a VMC or CMC certificate for the logo. 4. Publish a TXT record at default._bimi.azure.com with v=BIMI1, l= set to the logo URL and a= set to the certificate URL.