Wat is het verschil tussen envelope_from en header_from?

Twee afzenderadressen in dezelfde mail. DMARC gaat over header_from (wat de ontvanger ziet); SPF over envelope_from (het bounce-adres).

Elke e-mail heeft minstens twee afzenderadressen. Ze staan op verschillende lagen van het bericht en dienen een ander doel. In DMARC-rapporten heten ze header_from en envelope_from — dezelfde velden die je in dmarcs ziet als Header from en Envelope from.

header_from

Het adres in de From:-header (RFC 5322). Dit is wat de ontvanger in Outlook of Gmail ziet, bijvoorbeeld factuur@julliedomein.nl. Hierop zoekt DMARC het beleid op (_dmarc.julliedomein.nl) en hiertegen wordt alignment gecontroleerd.

envelope_from

Het adres uit MAIL FROM in de SMTP-sessie (RFC 5321). Het belandt later in Return-Path. Dit is het bounce-adres: hierheen gaan onbezorgde mails. SPF authenticeert dit domein, niet de zichtbare From-header.

Waarom ze vaak verschillen

Bij mail vanaf jullie eigen server zijn ze vaak gelijk. Bij nieuwsbrieven, CRM’s en tickettools bijna nooit: de leverancier zet een eigen bounce-domein in de envelope, zodat bounces bij hen binnenkomen, terwijl de zichtbare afzender jullie merk blijft.

  • Eigen mailserverheader_from nina@julliedomein.nl, envelope_from hetzelfde.
  • Mailchimp, Salesforce, een ESP — From blijft nina@julliedomein.nl, envelope wordt iets als bounces@mailer.leverancier.com.
  • Spoofing — de aanvaller vult From in als ceo@julliedomein.nl, maar de envelope is random@aanvaller.ru.

Dat verschil is dus niet automatisch verdacht. Het wordt pas een probleem als geen van de checks bij het zichtbare From-domein hoort.

Wat DMARC daarmee doet

DMARC zegt: de zichtbare afzender (header_from) moet aligned zijn met minstens één geslaagde check.

  1. SPF-alignment — het domein van envelope_from moet bij header_from horen. Standaard (relaxed): mailer.julliedomein.nl mag bij julliedomein.nl. Strict: exact hetzelfde domein.
  2. DKIM-alignment — het d=-domein in de handtekening moet bij header_from horen. De envelope speelt hier geen rol.

SPF kan dus slagen op mailer.leverancier.com en toch voor DMARC falen, als dat domein niet bij jullie From hoort én DKIM ook niet aligned is:

SPF pass  + envelope_from ≠ header_from  →  geen SPF-alignment
DKIM pass + d= ≠ header_from             →  geen DKIM-alignment
                                         →  DMARC fail

Kort: header_from is de identiteit, envelope_from is het bounce-/SPF-adres. DMARC gaat over die identiteit, niet over het bounce-adres. Handhaving (quarantaine of weigeren) begint pas als jullie dat in het beleid zetten. Het samenspel staat in Hoe SPF, DKIM en DMARC samenwerken.

Waar je dit in dmarcs ziet

  • Aggregate Reports — in de XML van ontvangers staan beide als identifiers. In de tabel zie je het From-domein als sending domain; onder een rij kan het envelope-domein staan als het van SPF (of From) afwijkt.
  • Failure Reports — in de details: velden Header from en Envelope from (en Envelope to voor de geadresseerde). Dat is één mislukte mail, geen volume.
  • Mailtest / compliance — alignment wordt altijd tegen header.from gezet: SPF-domein vs. header.from, DKIM-domein vs. header.from.

Envelope to is weer iets anders. Dat is de geadresseerde in SMTP (RCPT TO), niet de afzender. Handig om te zien bij welke ontvanger iets faalde; het telt niet mee voor DMARC-alignment.

Een rij met SPF pass op een ander envelope-domein dan jullie From is in dmarcs non-compliant, tot DKIM wél aligned is — of tot die leverancier custom sending op jullie domein gebruikt. Zie Aggregate Reports bekijken.