Email Spam Tester Een test uitvoeren · Voor agents · API · Blog

Hoe de test werkt

Stuur één bericht naar een tijdelijk adres en er worden 42 controles op uitgevoerd. Op deze pagina staan ze allemaal: waar elke controle naar kijkt, wat deze van je score kost als ze mislukt en uit welke paragraaf van de standaard ze afkomstig is.

Niets hier is onze mening die als regel wordt gepresenteerd. Als een controle iets afdwingt dat in een standaard staat, wordt de zin uit die standaard eronder geciteerd. Als de controle in plaats daarvan iets afdwingt dat Google of Yahoo vereist, wordt er naar hun pagina gelinkt. Als het onze eigen beoordeling is, staat dat erbij.

Bijgewerkt:

ControleGroepOnze scoreKlassieke score
ARC-ketenAuthenticatie−20
DKIM-handtekeningAuthenticatie−18−1
DKIM-uitlijningAuthenticatie−10−1
DMARC-resultaatAuthenticatie−140
Sender IDAuthenticatie−5−0.5
SPFAuthenticatie−18−1
SPF-uitlijningAuthenticatie−5−0.5
Verzendende hostnaam wordt omgezetInfrastructuur en reputatie−5−3
BlocklistsInfrastructuur en reputatie−25−3
HELO-naamInfrastructuur en reputatie−50
MX-recordInfrastructuur en reputatie−5−3
Omgekeerde DNSInfrastructuur en reputatie−12−1.5
TransportversleutelingInfrastructuur en reputatie−50
AI-beoordelaarSpamfilters
Gecombineerd oordeelSpamfilters−250
Postmark SpamCheckSpamfilters
RspamdSpamfilters
SpamAssassinSpamfilters0−3
Alternatieve tekst voor afbeeldingenInhoud−4−0.5
Beschikbaarheid van linksInhoud−5−1
Script en iframeInhoud−10−1
Balans tussen tekst en HTMLInhoud−3−0.3
Tekst- en HTML-delenInhoud−50
HTML-grootteInhoud−3−0.3
AfbeeldingsgrootteInhoud−3−0.3
Bestemming van zichtbare linksInhoud−30
LinkreputatieInhoud−400
Bijlagen scannenInhoud−600
PreheaderInhoud−20
OnderwerpregelInhoud−30
Verkorte linksInhoud−5−0.5
DMARC-beleid gepubliceerdRegels voor bulkverzenders−60
List-UnsubscribeRegels voor bulkverzenders−10−1
Afmelden met één klikRegels voor bulkverzenders−80
TLS voor bulkmailRegels voor bulkverzenders−50
BIMIAanbevelingen00
Leeftijd en lengte van DKIM-sleutelAanbevelingen00
Levering van DMARC-rapportenAanbevelingen00
DNSSECAanbevelingen00
MTA-STSAanbevelingen00
Lengte van retourpadAanbevelingen00
TLS-rapportageAanbevelingen00

Authenticatie

Of de ontvangende server kan bewijzen dat het bericht afkomstig is van waar het zegt vandaan te komen. Dit is de helft van afleverbaarheid die uitsluitend om DNS draait, en de helft die Gmail en Yahoo in 2024 verplicht hebben gesteld voor bulkverzenders.

ARC-keten auth.arc

ARC bewaart het authenticatieresultaat bij doorsturen via een doorstuurserver. Zonder ARC verbreekt een mailinglijst die een voettekst toevoegt je DKIM-handtekening en mislukt DMARC voor de doorgestuurde kopie bij de uiteindelijke ontvanger.

Als de controle mislukt: Als afzender hoef je niets te doen. Dit is van belang als je een lijst of doorstuurserver beheert, en het verklaart waarom DMARC voor sommige berichten mislukt nadat iemand ze heeft doorgestuurd.

Kost maximaal 2 punten van de 100 in onze score.

RFC 7960 §1 — Introduction

DMARC with restrictive policies causes problems for many Mailing Lists.

RFC 8617 §2.1 — Evidence

In ARC's situation, the "evidence" is a message's authentication assessment at any point along the delivery path between origination and final delivery.

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

DKIM-handtekening auth.dkim

DKIM ondertekent delen van het bericht met een privésleutel en publiceert de openbare sleutel in DNS. We verifiëren elke handtekening in het bericht en rapporteren het ondertekenende domein, de selector en de sleutellengte.

Als de controle mislukt: Schakel DKIM in op uw verzendplatform en publiceer de sleutel die het u geeft. Gebruik 2048 bits: 1024 wordt nog steeds geverifieerd, maar zo'n korte sleutel kan worden gekraakt en is niet langer veilig.

Kost maximaal 18 punten van de 100 in onze score en maximaal 1 van de 10 in de klassieke score.

RFC 6376 §3.5 — The DKIM-Signature Header Field

The signature of the email is stored in the DKIM-Signature header field.

RFC 6376 §6.1 — Extract Signatures from the Message

Verifiers MUST NOT attribute ultimate meaning to the order of multiple DKIM-Signature header fields.

RFC 8301 §3.1 — Signing and Verification Algorithms

rsa-sha1 MUST NOT be used for signing or verifying.

RFC 8463 §6 — Transition Considerations

For backward compatibility, signers can add multiple signatures that use old and new signing algorithms.

Google — Set up DKIM

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

DKIM-uitlijning auth.dkim_alignment

Een geldige handtekening is niet genoeg voor DMARC. Het ondertekenende domein moet overeenkomen met het domein in de From-header, exact of op basis van het organisatiedomein, afhankelijk van het beleid dat u hebt gepubliceerd.

Als de controle mislukt: Onderteken met uw eigen domein in plaats van met dat van uw platform. De meeste platforms ondersteunen dit en noemen het een aangepast of geauthenticeerd verzenddomein.

Kost maximaal 10 punten van de 100 in onze score en maximaal 1 van de 10 in de klassieke score.

RFC 9989 §4.4.1 — DKIM-Authenticated Identifiers

A single email can contain multiple DKIM signatures, and it is considered to produce a DMARC "pass" result if any DKIM-Authenticated Identifier aligns with the Author Domain.

Google — Set up DMARC

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

DMARC-resultaat auth.dmarc

DMARC koppelt SPF en DKIM aan het domein dat uw lezer ziet en vertelt ontvangers wat ze moeten doen wanneer geen van beide is uitgelijnd. We rapporteren het gepubliceerde beleid en of dit bericht eraan voldeed.

Als de controle mislukt: Publiceer een DMARC-record. Begin met p=none, lees de rapporten enkele weken en ga daarna over op quarantine zodra u weet welke andere bronnen namens u verzenden.

Kost maximaal 14 punten van de 100 in onze score.

RFC 9989 §5.3.5 — Determine DMARC "Pass" or "Fail"

If no Authenticated Identifiers exist for the domain, or none of the Authenticated Identifiers align with the Author Domain, the message is considered to fail the DMARC mechanism check.

RFC 9989 §4.7 — DMARC Policy Record Format

DMARC Policy Records follow the extensible "tag-value" syntax for DNS-based key records defined in DKIM [RFC6376].

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

Yahoo — Sender requirements and recommendations

Sender ID auth.sender_id

Dezelfde controle als SPF, uitgevoerd op het domein in de From-header in plaats van op de envelop. Hiermee wordt een andere vraag beantwoord: of het domein dat uw lezer ziet de server autoriseert die het bericht heeft verzonden. Een bericht kan slagen voor SPF op de envelop terwijl het zichtbare domein voor niemand instaat.

Als de controle mislukt: Publiceer SPF voor het domein in uw From-header, niet alleen voor het bouncedomein dat uw platform u heeft gegeven.

Kost maximaal 5 punten van de 100 in onze score en maximaal 0.5 van de 10 in de klassieke score.

RFC 4406 §4 — Record Selection

After the above steps, there should be one record remaining and evaluation can proceed.

SPF auth.spf

SPF is een DNS-record waarin staat welke servers namens uw domein mogen verzenden. De ontvangende server neemt het adres in de envelop, zoekt het record van dat domein op en controleert of de verbindende IP erin staat. We rapporteren het resultaat en het aantal DNS-zoekopdrachten dat voor het record nodig was, omdat de evaluatie na tien stopt en alles daarboven een permanente fout oplevert in plaats van een geslaagde controle.

Als de controle mislukt: Publiceer een record dat uw verzendplatform vermeldt en niets anders. Als uw record dicht bij de limiet van tien zoekopdrachten zit, vlak dan de includes af die u niet gebruikt (een record dat vandaag slaagt, begint te falen zodra een provider zelf een include toevoegt).

Kost maximaal 18 punten van de 100 in onze score en maximaal 1 van de 10 in de klassieke score.

RFC 7208 §4.6.4 — DNS Lookup Limits

SPF implementations MUST limit the total number of those terms to 10 during SPF evaluation, to avoid unreasonable load on the DNS. If this limit is exceeded, the implementation MUST return "permerror".

RFC 7208 §2.6 — Results of Evaluation

Section 4 defines check_host(), a model function definition that uses the inputs defined above and the sender's policy published in the DNS to reach a conclusion about client authorization.

Google — Set up SPF

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

SPF-uitlijning auth.spf_alignment

Of het bounceadres overeenkomt met het From-adres dat een lezer ziet. SPF autoriseert de envelop en DMARC telt die autorisatie alleen mee wanneer de twee zijn uitgelijnd.

Als de controle mislukt: Vraag uw verzendplatform om een bounce-subdomein van uw eigen domein. Als uw DKIM al is uitgelijnd, is dit niet dringend, maar zonder dit hebt u geen terugvaloptie wanneer DKIM tijdens de overdracht defect raakt.

Kost maximaal 5 punten van de 100 in onze score en maximaal 0.5 van de 10 in de klassieke score.

RFC 9989 §4.4.2 — SPF-Authenticated Identifiers

Only an SPF-Authenticated Identifier that has Identifier Alignment with the Author Domain is enough to validate the authorized use of the Author Domain.

RFC 9989 §5.3.5 — Determine DMARC "Pass" or "Fail"

If one or more of the Authenticated Identifiers align with the Author Domain, the message is considered to pass the DMARC mechanism check.

Google — Set up DMARC

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

Infrastructuur en reputatie

De machine en het adres waarvandaan het bericht is verzonden, en wat de rest van het internet al van beide vindt.

Verzendende hostnaam wordt omgezet infra.a_record

Of de bij HELO aangekondigde hostnaam überhaupt een adresrecord heeft.

Als de controle mislukt: Publiceer een A-record voor de naam die je server aankondigt.

Kost maximaal 5 punten van de 100 in onze score en maximaal 3 van de 10 in de klassieke score.

RFC 5321 §5.1 — Locating the Target Host

If an empty list of MXs is returned, the address is treated as if it was associated with an implicit MX RR, with a preference of 0, pointing to that host.

Google — Set up MX records

Blocklists infra.dnsbl

Of het verzendende IP wordt vermeld door een van de blocklists die ontvangers daadwerkelijk raadplegen. Onze lijst wordt gecontroleerd aan de hand van het eigen gedocumenteerde testpunt van elke zone en niet samengesteld via een zoekopdracht op het web, omdat een dode zone NXDOMAIN retourneert en dat als "schoon" wordt gelezen.

Als de controle mislukt: Volg het verwijderingsproces op de site van de beheerder van de lijst. Een vermelding in een belangrijke zone houdt e-mail volledig tegen, dus behandel die vóór alles op de pagina.

Kost maximaal 25 punten van de 100 in onze score en maximaal 3 van de 10 in de klassieke score.

RFC 5782 §2.1 — IP Address DNSxL

Each IPv4 address listed in the DNSxL has a corresponding DNS entry.

RFC 5782 §5 — Test and Contact Addresses

IPv4-based DNSxLs MUST contain an entry for 127.0.0.2 for testing purposes.

Google — Postmaster Tools: reputation and delivery errors

Google — Email sender guidelines

HELO-naam infra.helo

De naam waarmee de verzendende server zichzelf aan het begin van de SMTP-conversatie aankondigt. Het moet een volledig gekwalificeerd domein zijn dat kan worden omgezet.

Als de controle mislukt: Stel de hostnaam van je mailserver in op een echte naam binnen je domein, niet op een container-ID of een interne naam.

Kost maximaal 5 punten van de 100 in onze score.

RFC 5321 §4.1.1.1 — Extended HELLO (EHLO) or HELLO (HELO)

The argument clause contains the fully-qualified domain name of the SMTP client, if one is available.

Google — Email sender guidelines

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

MX-record infra.mx

Of het domein in je From-header e-mail kan ontvangen. Zonder dit kunnen antwoorden en bounces nergens naartoe, en filters beschouwen een verzendend domein dat geen e-mail kan ontvangen als een slecht teken.

Als de controle mislukt: Publiceer een MX-record voor het domein waarvandaan je verzendt, zelfs als het alleen doorstuurt naar een mailbox die je eens per maand leest.

Kost maximaal 5 punten van de 100 in onze score en maximaal 3 van de 10 in de klassieke score.

RFC 5321 §5.1 — Locating the Target Host

The lookup first attempts to locate an MX record associated with the name.

Google — Set up MX records

Omgekeerde DNS infra.rdns

Of het verzendende IP-adres terugverwijst naar een hostnaam, en of die hostnaam weer naar hetzelfde IP-adres verwijst. Het gaat om deze controle in beide richtingen: een PTR die ergens naartoe verwijst is eenvoudig, een overeenkomend paar is bewijs dat het adres van jou is.

Als de controle mislukt: Vraag de eigenaar van het IP-adres om de PTR in te stellen op een naam die je beheert, en zorg dat die naam een A-record heeft dat terugverwijst.

Kost maximaal 12 punten van de 100 in onze score en maximaal 1.5 van de 10 in de klassieke score.

RFC 1912 §2.1 — Inconsistent, Missing, or Bad Data

Make sure your PTR and A records match. For every IP address, there should be a matching PTR record in the in-addr.arpa domain.

Google — Email sender guidelines

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

Transportversleuteling infra.tls

Of het bericht via TLS is aangekomen, en met welk versleutelingsalgoritme. Alle moderne systemen onderhandelen hierover; een bericht dat onversleuteld aankomt zegt iets over de verzendconfiguratie.

Als de controle mislukt: Schakel STARTTLS in op de verzendende server. Elk gangbaar platform doet dit al, dus een fout hier betekent meestal dat zich een zelfbeheerde relay in het pad bevindt.

Kost maximaal 5 punten van de 100 in onze score.

RFC 3207 §2 — STARTTLS Extension

The STARTTLS extension to SMTP is laid out as follows:

Google — Send email over a secure TLS connection

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

Spamfilters

Wat onafhankelijke inhoudsfilters van het bericht vinden. Twee filters in plaats van één, omdat de score van één filter de mening van dat filter is.

AI-beoordelaar spam.ai_judge

Een model schat op basis van de technische bevindingen en de inhoudsmetingen in hoe een modern machinelearningfilter het bericht zou behandelen. Het ziet de feiten, niet de hoofdtekst.

Als de controle mislukt: Op zichzelf alleen ter informatie. De schatting wordt meegenomen in het onderstaande gecombineerde oordeel.

Wordt ter informatie getoond. Telt nooit mee voor de score.

Gecombineerd oordeel spam.panel

Eén getal van de engines die antwoordden, zo gewogen dat de luidste niet simpelweg wordt weggemiddeld. SpamAssassin en Postmark tellen als één stem omdat ze dezelfde regelbasis gebruiken.

Als de controle mislukt: Werk de afzonderlijke bevindingen af. Deze rij verandert wanneer zij veranderen.

Kost maximaal 25 punten van de 100 in onze score.

Google — Why Gmail marks messages as spam

How this score is calculated

Postmark SpamCheck spam.postmark

Een derde oordeel, standaard uitgeschakeld. Het endpoint verwerkt het volledige bericht en we kunnen niets ervan redigeren zonder datgene wat wordt gemeten onbruikbaar te maken, dus inschakelen betekent accepteren dat elk getest bericht naar een derde partij wordt gekopieerd.

Als de controle mislukt: U hoeft niets te doen. Wanneer deze controle is uitgeschakeld, meldt deze dat hij is uitgeschakeld, wat niet hetzelfde is als slagen.

Wordt ter informatie getoond. Telt nooit mee voor de score.

Rspamd spam.rspamd

Een tweede, onafhankelijk ontwikkeld filter. Het verschilt vaak genoeg van mening met SpamAssassin om het te raadplegen, en daarom staat het hier.

Als de controle mislukt: Alleen ter informatie. Het oordeel van deze engine wordt meegenomen in het gecombineerde oordeel in plaats van afzonderlijk te worden gescoord.

Wordt ter informatie getoond. Telt nooit mee voor de score.

SpamAssassin spam.spamassassin

Het klassieke filter op basis van regels, nog steeds de engine achter de meeste tools voor het testen van e-mail. Elke geactiveerde regel wordt met het bijbehorende gewicht vermeld.

Als de controle mislukt: Bekijk de geactiveerde regels in plaats van het totaal. De meeste zijn eenvoudig op te lossen zodra u kunt zien welke het zijn.

Kost maximaal 3 van de 10 in de klassieke score.

Google — Why Gmail marks messages as spam

Apache SpamAssassin — rule documentation

Inhoud

Het bericht zelf: de structuur, de links, de afbeeldingen, de zaken die een filter leest voordat het een beslissing neemt.

Alternatieve tekst voor afbeeldingen content.alt_attributes

Of afbeeldingen alt-attributen hebben. Mailclients blokkeren externe afbeeldingen standaard, dus gedurende de eerste paar seconden is de alternatieve tekst uw bericht.

Als de controle mislukt: Schrijf alternatieve tekst die de betekenis overbrengt en laat de hoofdafbeelding nooit zonder alternatieve tekst.

Kost maximaal 4 punten van de 100 in onze score en maximaal 0.5 van de 10 in de klassieke score.

Google — Email sender guidelines

Script en iframe content.forbidden_tags

Of de HTML tags bevat die geen enkele mailclient uitvoert. In het beste geval worden ze verwijderd en in het slechtste geval worden ze behandeld als een signaal van omzeiling.

Als de controle mislukt: Verwijder script, iframe, object en embed. Alles wat interactief is, hoort achter een link.

Kost maximaal 10 punten van de 100 in onze score en maximaal 1 van de 10 in de klassieke score.

Google — Email sender guidelines

Balans tussen tekst en HTML content.html_text_ratio

Hoeveel van het bericht uit opmaak bestaat ten opzichte van hoeveel leesbare tekst het bevat. Een pagina vol opmaak rond één zin is een patroon dat filters herkennen.

Als de controle mislukt: Schrijf een tekstdeel dat hetzelfde zegt als de HTML, in plaats van een tijdelijke aanduiding.

Kost maximaal 3 punten van de 100 in onze score en maximaal 0.3 van de 10 in de klassieke score.

RFC 2046 §5.1.4 — Alternative Subtype

Systems should recognize that the content of the various parts are interchangeable.

Google — Why Gmail marks messages as spam

Tekst- en HTML-delen content.html_version

Of het bericht naast de HTML ook een alternatief met tekst zonder opmaak bevat. Sommige filters wegen de afwezigheid ervan mee, en elke schermlezer heeft er een nodig.

Als de controle mislukt: Verstuur multipart/alternative met een echte tekstversie, niet met een leeg deel of een regel die zegt dat het bericht in een browser moet worden bekeken.

Kost maximaal 5 punten van de 100 in onze score.

RFC 2046 §5.1.4 — Alternative Subtype

The "multipart/alternative" type is syntactically identical to "multipart/mixed", but the semantics are different. In particular, each of the body parts is an "alternative" version of the same information.

Google — Email sender guidelines

HTML-grootte content.html_weight

Hoe groot het HTML-deel is. Gmail kapt een bericht af vanaf ongeveer 102 KB en verbergt de rest achter een link, waardoor ook uw afmeldingsvoettekst wordt verborgen.

Als de controle mislukt: Beperk inline CSS en herhaalde stijlblokken (de meeste sjablonen passen binnen een derde van de limiet zodra de ongebruikte regels zijn verwijderd).

Kost maximaal 3 punten van de 100 in onze score en maximaal 0.3 van de 10 in de klassieke score.

Google — Email sender guidelines

Afbeeldingsgrootte content.images_weight

De totale grootte van de afbeeldingen die het bericht ophaalt. Zware afbeeldingen maken een bericht traag op een telefoon, en e-mail met alleen afbeeldingen heeft een vorm die filters verdacht vinden.

Als de controle mislukt: Comprimeer ze en zorg dat het bericht nog steeds leesbaar is als afbeeldingen zijn uitgeschakeld.

Kost maximaal 3 punten van de 100 in onze score en maximaal 0.3 van de 10 in de klassieke score.

Google — Email sender guidelines

Bijlagen scannen content.malware

Of bijlagen bekende malware bevatten. In omgevingen waar de scanner is uitgeschakeld, wordt gemeld dat de scan niet is uitgevoerd in plaats van dat er geen malware is gevonden.

Als de controle mislukt: Als dit wordt geactiveerd, stop dan met verzenden en zoek uit wat er staat op de machine waarop het bericht is samengesteld.

Kost maximaal 60 punten van de 100 in onze score.

Google — Why Gmail marks messages as spam

ClamAV — how detection works

Preheader content.preheader

De voorbeeldregel die een client naast het onderwerp toont. Zonder deze regel toont de client wat als eerste in de hoofdtekst staat, wat meestal een link is om het bericht in de browser te bekijken.

Als de controle mislukt: Voeg als eerste element van de hoofdtekst een verborgen preheaderblok toe.

Kost maximaal 2 punten van de 100 in onze score.

Google — Email sender guidelines

Onderwerpregel content.subject

Lengte, hoofdlettergebruik en de patronen die filters beoordelen. We meten het gedecodeerde onderwerp, zodat een Cyrillische of CJK-regel als tekst wordt beoordeeld in plaats van als de codering ervan.

Als de controle mislukt: Houd deze onder ongeveer 60 tekens en laat het geschreeuw en de uitroeptekens weg.

Kost maximaal 3 punten van de 100 in onze score.

RFC 5322 §2.2 — Header Fields

Header fields are lines beginning with a field name, followed by a colon (":"), followed by a field body, and terminated by CRLF.

RFC 2047 §2 — Syntax of encoded-words

An 'encoded-word' is defined by the following ABNF grammar.

Google — Why Gmail marks messages as spam

Verkorte links content.url_shortener

Of links via een openbare linkverkorter lopen. Linkverkorters verbergen de bestemming, en dat is precies wat filters geleerd hebben te wantrouwen.

Als de controle mislukt: Link naar uw eigen domein of gebruik het trackingdomein van uw platform op een subdomein van uzelf.

Kost maximaal 5 punten van de 100 in onze score en maximaal 0.5 van de 10 in de klassieke score.

Google — Why Gmail marks messages as spam

Regels voor bulkverzenders

De vereisten die Gmail en Yahoo publiceren voor iedereen die grote volumes verzendt. Deze gelden voor mailings en worden overgeslagen voor berichten die daar niet op lijken.

DMARC-beleid gepubliceerd compliance.dmarc_present

Of het From-domein überhaupt een DMARC-record publiceert, los van de vraag of dit bericht ervoor is geslaagd. Gmail en Yahoo vereisen dit van bulkverzenders.

Als de controle mislukt: Publiceer een record. p=none is voldoende om aan de vereiste te voldoen en levert rapporten op waarmee u kunt werken.

Kost maximaal 6 punten van de 100 in onze score.

RFC 9989 §4.7 — DMARC Policy Record Format

If this tag is not present in an otherwise syntactically valid DMARC Policy Record, then the record is treated as if it included "p=none".

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

Yahoo — Sender requirements and recommendations

List-Unsubscribe compliance.list_unsubscribe

Of het bericht een afmeldheader bevat waarop een mailclient kan reageren. Gmail en Yahoo vereisen deze van bulkverzenders, en de afwezigheid ervan wordt ongeacht al het andere als filtercriterium gebruikt. De regel geldt voor mailings. Een e-mail die de ontvanger vraagt een abonnement te bevestigen, of meldt dat dit is gelukt, wordt aan één persoon verzonden over iets wat diegene zojuist heeft gedaan; CAN-SPAM noemt dat een transactioneel of relatiebericht, en noch Gmail noch Yahoo vereist daarvoor een afmeldheader. Daarom leest deze controle eerst de e-mail. Voor een abonnementsbevestiging, een welkomstmail, een transactionele e-mail of een melding zonder lijstheaders worden geen punten afgetrokken, en het rapport vermeldt waarvoor de e-mail is aangezien. Een welkomstmail die is opgevuld met aanbiedingen is in feite de eerste uitgave van de mailing; zonder lijstheaders kan de controle de twee niet van elkaar onderscheiden, en worden er niet op basis van een aanname punten afgetrokken. Als de e-mail List-Unsubscribe of List-Id bevat, hebt u deze zelf als lijste-mail aangemerkt, en wordt de controle uitgevoerd zoals altijd.

Als de controle mislukt: Voeg een List-Unsubscribe-header met een HTTPS-URI toe. Elk verzendplatform kan dit.

Kost maximaal 10 punten van de 100 in onze score en maximaal 1 van de 10 in de klassieke score.

RFC 2369 §3.2 — List-Unsubscribe

The List-Unsubscribe field describes the command (preferably using mail) to directly unsubscribe the user (removing them from the list).

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

Yahoo — Sender requirements and recommendations

Afmelden met één klik compliance.one_click_unsubscribe

De strengere vorm: een HTTPS-URI, een "List-Unsubscribe-Post"-header en één geldige DKIM-handtekening die beide headers dekt. Alle drie zijn vereist, anders toont de ontvanger de knop niet. Net als de List-Unsubscribe-controle geldt dit voor mailings, niet voor een bevestiging of een welkomstmail.

Als de controle mislukt: Wat meestal ontbreekt, is de handtekening: platforms ondertekenen "List-Unsubscribe" en vergeten "List-Unsubscribe-Post". Beide headernamen moeten voorkomen in de h=-tag van dezelfde handtekening.

Kost maximaal 8 punten van de 100 in onze score.

RFC 8058 §4 — Additional Requirements

The List-Unsubscribe and List-Unsubscribe-Post headers MUST be covered by the signature and included in the "h=" tag of a valid DKIM-Signature header field.

RFC 8058 §3.1 — Mail Senders

The List-Unsubscribe header field MUST contain one HTTPS URI.

Google — Sender guidelines FAQ: rules for 5,000+ messages a day

Yahoo — Sender requirements and recommendations

Aanbevelingen

De moeite waard om uit te voeren en telt nooit mee voor de score. Niets in deze sectie kan punten kosten, wat een productbeslissing is die door de tests wordt afgedwongen.

BIMI advisory.bimi

Of het domein een BIMI-record publiceert, waardoor in sommige clients een logo naast uw berichten wordt geplaatst. Hiervoor is eerst een afdwingend DMARC-beleid nodig, plus een geverifieerd merkcertificaat dat geld kost.

Als de controle mislukt: De moeite waard zodra DMARC op quarantine of reject staat en het volume het certificaat rechtvaardigt.

Aanbeveling. Kost niets.

BIMI — draft specification, not yet an RFC

Leeftijd en lengte van DKIM-sleutel advisory.dkim_key_rotation

De lengte van de ondertekeningssleutel en hoelang deze in gebruik is. Korte sleutels worden met elk verstrijkend jaar goedkoper om offline aan te vallen.

Als de controle mislukt: Stap over op 2048 bits en roteer volgens een schema. Publiceer de nieuwe selector, schakel de ondertekening hiernaar over en trek vervolgens de oude in.

Aanbeveling. Kost niets.

RFC 8301 §3.2 — Key Sizes

Since short RSA keys more easily succumb to off-line attacks, Signers MUST use RSA keys of at least 1024 bits for all keys. Signers SHOULD use RSA keys of at least 2048 bits.

Google — Set up DKIM

Levering van DMARC-rapporten advisory.dmarc_reporting

Of de adressen in je DMARC-record daadwerkelijk iets ontvangen. Als een rapportadres buiten je eigen domein valt, vereist RFC 9990 dat dat domein eerst zelf toestemming publiceert, als een TXT-record op your-domain._report._dmarc.their-domain. Zonder dit record verwijdert een ontvanger het adres: geen bounce, geen fout, geen rapport. Dit is de gebruikelijke configuratie en geen uitzonderlijke, omdat het adres normaal gesproken bij een monitoringprovider staat, of op je hoofddomein terwijl het beleid op een verzendsubdomein staat. Dezelfde regel geldt voor foutrapporten, waarbij RFC 9991 voor de ruf-tag naar dezelfde procedure verwijst. We zoeken dezelfde records op als een ontvanger en tonen je de namen die we hebben opgevraagd.

Als de controle mislukt: Vraag degene die het bestemmingsdomein beheert om op de in de bevinding getoonde naam een TXT-record met v=DMARC1 te publiceren. Monitoringproviders doen dit doorgaans voor je zodra je het domein aan hun account toevoegt, dus als het record ontbreekt, is het domein waarschijnlijk nooit aan hun kant toegevoegd. Als de rapporten in plaats daarvan naar je eigen domein gaan, is niets nodig.

Aanbeveling. Kost niets.

RFC 9990 §4 — Verifying External Destinations

When a Mail Receiver discovers a DMARC Policy Record in the DNS, and the Organizational Domain at which that record was discovered is not identical to the Organizational Domain of the host part of the authority component of a [RFC3986] specified in the "rua" tag, the following verification steps MUST be taken:

RFC 9990 §4 — Verifying External Destinations

Where the above algorithm fails to confirm that the external reporting was authorized by the Report Consumer, the URI MUST be ignored by the Mail Receiver generating the report.

RFC 9991 §5 — Verifying External Destinations

In case of external destinations, a Mail Receiver who generates failure reports MUST use the Verifying External Destinations procedure described in Section 4 of [RFC9990], substituting the "ruf" tag where the "rua" tag appears in that procedure.

Google — Set up DMARC

DNSSEC advisory.dnssec

Of het domein is ondertekend. SPF, DKIM en DMARC bevinden zich allemaal in DNS, dus een aanvaller die DNS-antwoorden kan vervalsen, kan ze alle drie vervalsen.

Als de controle mislukt: Schakel het in bij uw registrar. Meestal is dit één instelling en handelt de registrar de rest af.

Aanbeveling. Kost niets.

RFC 4033 §2 — Definitions of Important DNSSEC Terms

Authentication Chain: An alternating sequence of DNS public key (DNSKEY) RRsets and Delegation Signer (DS) RRsets

MTA-STS advisory.mta_sts

Of het domein een beleid publiceert dat andere servers opdraagt niet-versleutelde bezorging aan u te weigeren. Het beschermt e-mail die naar u wordt verzonden in plaats van e-mail die u verzendt.

Als de controle mislukt: Publiceer het TXT-record en het beleidsbestand via HTTPS (een middag werk, en het voorkomt een downgrade-aanval).

Aanbeveling. Kost niets.

RFC 8461 §3 — Policy Discovery

To discover if a recipient domain implements MTA-STS, a sender need only resolve a single TXT record.

Lengte van retourpad advisory.return_path_length

Hoe lang het bounce-adres is. RFC 5321 verplicht een ontvangende server om 64 octetten vóór de @ te accepteren, en stelt in dezelfde sectie dat geen enkele implementatie een vermijdbare limiet zou moeten opleggen. Toch leggen veel implementaties er een op, en een bericht dat de limiet overschrijdt, wordt bij MAIL FROM geweigerd, nog voordat de hoofdtekst wordt verzonden. Verzendplatforms lopen hiertegenaan doordat ze de ontvanger in het retourpad coderen, zodat bounces aan de ontvanger kunnen worden gekoppeld, waardoor de lengte afhangt van aan wie u schrijft en niet van uzelf.

Als de controle mislukt: Kort het vaste deel in dat uw platform vooraan toevoegt, of stap voor bounces over op een korter domein. Als u geen van beide kunt wijzigen, lopen uw abonnees met de langste adressen risico. Het is daarom de moeite waard om het langste adres op uw lijst te meten in plaats van een gemiddelde.

Aanbeveling. Kost niets.

RFC 5321 §4.5.3.1.1 — Local-part

The maximum total length of a user name or other local-part is 64 octets.

RFC 5321 §4.5.3.1 — Size Limits and Minimums

Every implementation MUST be able to receive objects of at least these sizes.

Haraka — the address parser that enforces the 64-octet local-part, and the flag that relaxes it

TLS-rapportage advisory.tls_rpt

Of het domein om rapporten vraagt wanneer iemand er niet in slaagt om via TLS berichten af te leveren. Hoort bij MTA-STS: zonder de rapportage bij het beleid kunt u niet vaststellen of het werkt.

Als de controle mislukt: Voeg het TXT-record toe met een adres dat de dagelijkse rapporten ontvangt.

Aanbeveling. Kost niets.

RFC 8460 §3 — Reporting Policy

A domain publishes a record to its DNS indicating that it wishes to receive reports.