MailDingo

Worked example 5 of 11

Business email between two Microsoft 365 companies

What Exchange Online headers look like: many internal hops with IPv6 addresses, 'Microsoft SMTP Server' as the protocol, and Microsoft's own compauth verdict.

Open in the analyser

What to notice

Microsoft 365 headers are long and look intimidating, but most of the hops are inside Microsoft's network. Reading from the bottom:

  1. with mapi: Jordan's Outlook handed the message to their mailbox server. Server names like DM6PR11MB4610.namprd11.prod.outlook.com are Microsoft datacentre machines ("namprd" = North America).
  2. Two more internal hops inside the sender's tenant, then out through outbound.protection.outlook.com (Exchange Online Protection), which signs it (DKIM d=example.com, selector selector1) and adds an ARC seal by microsoft.com.
  3. The recipient's side receives it from 198.51.100.25, checks SPF, DKIM and DMARC, and writes compauth=pass reason=100. compauth ("composite authentication") is Microsoft's own verdict combining the checks; it's not an IETF standard.

The whole journey took 12 seconds, almost all of it before the message left the sender's tenant. Microsoft's Authentication-Results doesn't start with a server name, which RFC 8601 requires; MailDingo handles that by treating the field as your provider's anyway when it's the top one.

The analysis

Produced by the same code that runs in the analyser.

Looks genuine

Authenticated: it really came from example.com

Your provider's DMARC check passed, so example.com (or a service it authorised) sent this message. That proves the domain, not the intent: make sure example.com is the organisation you expect.

  • Fromexample.com
  • Sent from2001:db8:10b6:405:cafe::2
  • Hops6
  • In transit5 s
  • ViaMicrosoft

Red flags 0

No red flags found in these headers.

Authentication

The top Authentication-Results field names no server (Microsoft 365 writes it this way), so MailDingo treats it as your provider's. show in headers

DMARC DMARC asks: did SPF or DKIM pass for a domain that matches the From address you see? That match is called alignment.

dmarc=pass From domain example.com

SPF or DKIM passed for a domain that aligns with the visible From domain: the From address is authentic.

applied: none

What dmarc=pass means

SPF SPF checks whether the server that delivered the message was allowed to send for the envelope (bounce) domain.

spf=pass envelope example.com

The sending server is on the envelope domain's list of permitted senders.

sender IP is 198.51.100.25

What spf=pass means

DKIM DKIM checks a cryptographic signature that a domain (d=) put on the message, proving that domain handled it and the signed parts were not changed.

dkim=pass signed by example.com

The signature verified: the signing domain really handled this message and the signed content is unchanged.

signature was verified

What dkim=pass means

Other checks

compauth=pass

A vendor-specific or less common result (reason 100).

Alignment with the From address

From domainexample.comorganisation: example.com
  • SPF example.com passaligned (exact match)
  • DKIM example.com passaligned (exact match)

At least one passing check is aligned with the From domain, which is all DMARC needs. Alignment is shown in relaxed mode (same organisation); a domain can demand strict mode (exact match) in its DMARC record, which this tool can't look up.

DKIM signatures on the message

  • example.com selector selector1 · rsa-sha256 · covers 7 header fields ↧

ARC chain 1

Each forwarding server that sealed the message recorded what it saw. These are claims by those servers; they only count if your provider trusts the sealer.

  1. i=1 sealed by microsoft.com cv=none
    saw: spf=pass dmarc=pass dkim=pass arc=none
    ↧

Who it claims to be from

From
Jordan Lee jordan.lee@example.com ↧
Subject
Contract draft for review ↧
Date
Tue, 20 Oct 2026 09:31:40 +0000 = 2026-10-20 09:31:40 UTC ↧
Message-ID
<DM6PR11MB46107A1B2C3D4E5F6A7B8C9D0E1F2@DM6PR11MB4610.namprd11.prod.outlook.com> ↧
Services seen
Microsoft (Outlook.com / Exchange Online) mailbox

Route 6 hops

Oldest first. Each server adds a Received line on top, so this is the header list read from the bottom up. Times are converted to UTC.

  1. Written Date header: 2026-10-20 09:31:40 UTC (sender's clock +0000)
  2. +7 s
    dm6pr11mb4610.namprd11.prod.outlook.com Microsoft
    from dm6pr11mb4610.namprd11.prod.outlook.com 2001:db8:4a1c:2b3d:5e6f:7a8b::1
    mapi · no TLS recorded
    2026-10-20 09:31:47 UTC (+0000 local) ↧
  3. +1 s
    dm6pr11mb3962.namprd11.prod.outlook.com Microsoft
    from dm6pr11mb4610.namprd11.prod.outlook.com 2001:db8:10b6:5:1d0::12
    Microsoft SMTP Server · 🔒 encrypted TLS 1.2
    2026-10-20 09:31:48 UTC (+0000 local) ↧
  4. +2 s
    bn2pepf000044a8.mail.protection.outlook.com Microsoft
    from mail-eastus2azon11012025.outbound.protection.outlook.com 198.51.100.25
    Microsoft SMTP Server · 🔒 encrypted TLS 1.3
    2026-10-20 09:31:50 UTC (+0000 local) ↧
  5. +1 s
    bn9pr03ca0123.outlook.office365.com Microsoft
    from bn2pepf000044a8.namprd04.prod.outlook.com 2001:db8:10b6:405:cafe::2
    Microsoft SMTP Server · 🔒 encrypted TLS 1.3
    2026-10-20 09:31:51 UTC (+0000 local) ↧
    Probably where your provider took the message in from the outside world. The IP here was seen by the receiving server, so it is the most trustworthy origin address in the headers.
  6. +0 s
    sa1pr12mb7272.namprd12.prod.outlook.com Microsoft
    from bn9pr03ca0123.namprd03.prod.outlook.com 2001:db8:10b6:408::7
    Microsoft SMTP Server · 🔒 encrypted TLS 1.2
    2026-10-20 09:31:51 UTC (+0000 local) ↧
  7. +1 s
    mn2pr12mb4549.namprd12.prod.outlook.com Microsoft
    from sa1pr12mb7272.namprd12.prod.outlook.com 2001:db8:10b6:806::22
    HTTPS · 🔒 encrypted
    2026-10-20 09:31:52 UTC (+0000 local) ↧

First to last server: 5 s. Reading delays

The headers 23 fields

sender route authentication ARC

Received: from SA1PR12MB7272.namprd12.prod.outlook.com (2001:db8:10b6:806::22) by MN2PR12MB4549.namprd12.prod.outlook.com with HTTPS; Tue, 20 Oct 2026 09:31:52 +0000 explained ↑
Received: from BN9PR03CA0123.namprd03.prod.outlook.com (2001:db8:10b6:408::7) by SA1PR12MB7272.namprd12.prod.outlook.com (2001:db8:10b6:806::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.21; Tue, 20 Oct 2026 09:31:51 +0000 explained ↑
Received: from BN2PEPF000044A8.namprd04.prod.outlook.com (2001:db8:10b6:405:cafe::2) by BN9PR03CA0123.outlook.office365.com (2001:db8:10b6:408::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8093.21 via Frontend Transport; Tue, 20 Oct 2026 09:31:51 +0000 explained ↑
Authentication-Results: spf=pass (sender IP is 198.51.100.25) smtp.mailfrom=example.com; dkim=pass (signature was verified) header.d=example.com;dmarc=pass action=none header.from=example.com;compauth=pass reason=100 explained ↑
Received-SPF: Pass (protection.outlook.com: domain of example.com designates 198.51.100.25 as permitted sender) receiver=protection.outlook.com; client-ip=198.51.100.25; helo=mail-eastus2azon11012025.outbound.protection.outlook.com; pr=C explained ↑
Received: from mail-eastus2azon11012025.outbound.protection.outlook.com (198.51.100.25) by BN2PEPF000044A8.mail.protection.outlook.com (2001:db8:10b6:405:cafe::2) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8093.21 via Frontend Transport; Tue, 20 Oct 2026 09:31:50 +0000 explained ↑
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=U3ludGhldGljIE1pY3Jvc29mdCBzZWFs explained ↑
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U3ludGhldGljIGJvZHkgaGFzaA==; b=U3ludGhldGljIEFNUw== explained ↑
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=example.com; dmarc=pass action=none header.from=example.com; dkim=pass header.d=example.com; arc=none explained ↑
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U3ludGhldGljIGJvZHkgaGFzaA==; b=U3ludGhldGljIHNpZ25hdHVyZQ== explained ↑
Received: from DM6PR11MB4610.namprd11.prod.outlook.com (2001:db8:10b6:5:1d0::12) by DM6PR11MB3962.namprd11.prod.outlook.com (2001:db8:10b6:5:1c4::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.20; Tue, 20 Oct 2026 09:31:48 +0000 explained ↑
Received: from DM6PR11MB4610.namprd11.prod.outlook.com ([2001:db8:4a1c:2b3d:5e6f:7a8b::1]) by DM6PR11MB4610.namprd11.prod.outlook.com ([2001:db8:4a1c:2b3d:5e6f:7a8b::1]) with mapi id 15.20.8093.020; Tue, 20 Oct 2026 09:31:47 +0000 explained ↑
From: Jordan Lee <jordan.lee@example.com> explained ↑
To: Morgan Price <morgan.price@example.net>
Subject: Contract draft for review explained ↑
Thread-Topic: Contract draft for review
Date: Tue, 20 Oct 2026 09:31:40 +0000 explained ↑
Message-ID: <DM6PR11MB46107A1B2C3D4E5F6A7B8C9D0E1F2@DM6PR11MB4610.namprd11.prod.outlook.com> explained ↑
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
Content-Type: multipart/mixed; boundary="_004_DM6PR11MB46107A1B_"
MIME-Version: 1.0

All names, domains and addresses on this page are fictional: domains under example.com/.net/.org and the reserved .example and .test names (RFC 2606, RFC 6761), IPv4 addresses from the documentation ranges in RFC 5737 and IPv6 from 2001:db8::/32 (RFC 3849). Signatures are placeholders and won't verify.