# Fix email authentication for msn.com

You are working on the DNS and mail configuration for msn.com.
Measured by MailAuthWatch on 17 Oct 2026 from public DNS. Grade B (80/100).
Report: https://www.mailauthwatch.com/check/msn.com

## What is published right now (do not assume anything else)
- SPF (TXT msn.com): v=spf1 include:spf.protection.outlook.com include:spf-a.hotmail.com include:spf-b.hotmail.com include:spf-c.hotmail.com include:spf-d.hotmail.com include:_spf-ssg-a.microsoft.com ~all   — valid, 7 of 10 lookups
- DMARC (TXT _dmarc.msn.com): v=DMARC1; p=none; sp=quarantine; pct=100; rua=mailto:d@rua.agari.com; fo=1
- DKIM: selector1._domainkey (2048-bit)
- MX: msn-com.olc.protection.outlook.com  → Microsoft 365
- Nameservers: ns1-204.azure-dns.com, ns2-204.azure-dns.net …  → records are managed in Azure DNS

## Tasks, in order of impact
### 1. DMARC is sitting at p=none.
Why: You are collecting reports and enforcing nothing, so anyone can still send as you. Gmail and Yahoo accept p=none from bulk senders, but it protects nobody.
Replace TXT record:
  _dmarc.msn.com  TXT  v=DMARC1; p=quarantine; pct=25; sp=quarantine; rua=mailto:d@rua.agari.com; fo=1
Only after DKIM is verified working (see the DKIM task if present). Hold for 14 days, review reports, then pct=100, then p=reject.
Azure DNS CLI/API (adjust identifiers):
  az network dns record-set txt add-record -g $RESOURCE_GROUP -z msn.com -n _dmarc -v "v=DMARC1; p=quarantine; pct=25; sp=quarantine; rua=mailto:d@rua.agari.com; fo=1"

## Rules
- Publish exactly one SPF record; never add a second v=spf1 TXT.
- Do not remove any include: or ip4: you cannot account for; mail may depend on it.
- Do not set DMARC to p=reject in one step; stage through p=none → quarantine → reject.
- Show the planned DNS changes as a diff (record, old value, new value) before applying them.
- If you cannot access Azure DNS or Microsoft 365, stop and say exactly what access you need.

## Verify
  dig +short TXT _dmarc.msn.com
  dig +short TXT msn.com
Then open https://www.mailauthwatch.com/check/msn.com?fresh=1 and confirm:
  DMARC p=quarantine. Target grade: A.

## Report back
List each record you changed (name, type, old value, new value), what you verified, and anything you could not do.