Email Spam Tester Kør en test · Til agenter · API

Sådan fungerer testen

Send én meddelelse til en engangsadresse, hvorefter 39 kontroller udføres på den. Denne side indeholder dem alle: hvad hver enkelt undersøger, hvad den koster på din score, når den fejler, og hvilket afsnit i standarden den kommer fra.

Intet her er vores holdning forklædt som en regel. Når en kontrol håndhæver noget, som en standard foreskriver, er sætningen fra den pågældende standard citeret nedenunder. Når den i stedet håndhæver noget, som Google eller Yahoo kræver, er der et link til deres side. Når det er vores egen vurdering, står det angivet.

Godkendelse

Om den modtagende server kan bevise, at meddelelsen kom fra det sted, den hævder. Dette er den halvdel af leveringssikkerheden, der udelukkende handler om DNS, og den halvdel, som Gmail og Yahoo gjorde obligatorisk for masseafsendere i 2024.

ARC-kæde auth.arc

ARC bevarer godkendelsesresultatet gennem en videresender. Uden ARC vil en mailingliste, der tilføjer en sidefod, bryde din DKIM-signatur, og den videresendte kopi vil ikke bestå DMARC hos den endelige modtager.

Hvis den fejler: Du skal ikke gøre noget som afsender. Dette er relevant, hvis du driver en liste eller en videresender, og det forklarer, hvorfor nogle af dine mails ikke består DMARC, efter at nogen har videresendt dem.

Koster op til 2 point ud af 100 i vores 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 — Requirements for bulk senders (5,000+/day)

DKIM-signatur auth.dkim

DKIM signerer dele af meddelelsen med en privat nøgle og udgiver den offentlige nøgle i DNS. Vi verificerer hver signatur, som meddelelsen indeholder, og rapporterer signeringsdomænet, selektoren og nøglelængden.

Hvis den fejler: Aktivér DKIM på din afsendelsesplatform, og udgiv den nøgle, den giver dig. Brug 2048 bit (1024 kan stadig verificeres, men er på vej ud).

Koster op til 18 point ud af 100 i vores score og op til 1 ud af 10 i den klassiske 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.

Google — Turn on DKIM for your domain

Google — Requirements for bulk senders (5,000+/day)

DKIM-justering auth.dkim_alignment

En gyldig signatur er ikke nok til DMARC. Signeringsdomænet skal matche domænet i From-headeren, enten præcist eller på organisationsdomæneniveau afhængigt af den politik, du har udgivet.

Hvis den fejler: Signér med dit eget domæne i stedet for din platforms. De fleste platforme understøtter dette og kalder det et brugerdefineret eller godkendt afsenderdomæne.

Koster op til 10 point ud af 100 i vores score og op til 1 ud af 10 i den klassiske score.

RFC 7489 §3.1.1 — DKIM-Authenticated Identifiers

DMARC permits Identifier Alignment, based on the result of a DKIM authentication, to be strict or relaxed.

Google — Add a DMARC record

Google — Requirements for bulk senders (5,000+/day)

DMARC-resultat auth.dmarc

DMARC knytter SPF og DKIM til det domæne, din læser ser, og fortæller modtagerne, hvad de skal gøre, når ingen af dem er justeret. Vi rapporterer den udgivne politik, og om denne meddelelse opfyldte den.

Hvis den fejler: Udgiv en DMARC-post. Start med p=none, læs rapporterne i nogle uger, og skift derefter til quarantine, når du ved, hvilke andre der sender som dig.

Koster op til 14 point ud af 100 i vores score.

RFC 7489 §6.6.2 — Determine Handling Policy

DMARC evaluation can only yield a "pass" result after one of the underlying authentication mechanisms passes for an aligned identifier.

RFC 7489 §6.3 — General Record Format

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

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Sender ID auth.sender_id

Den samme kontrol som SPF, udført mod domænet i From-headeren i stedet for konvolutten. Den besvarer et andet spørgsmål: om det domæne, din læser ser, godkender den server, der sendte meddelelsen. En meddelelse kan bestå SPF-kontrollen for sin konvolut, mens det synlige domæne ikke står inde for nogen.

Hvis den fejler: Udgiv SPF for domænet i din From-header, ikke kun for det returdomæne, din platform har givet dig.

Koster op til 5 point ud af 100 i vores score og op til 0.5 ud af 10 i den klassiske score.

RFC 4406 §4 — Record Selection

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

SPF auth.spf

SPF er en DNS-post, der angiver, hvilke servere der må sende for dit domæne. Den modtagende server tager adressen i konvolutten, slår domænets post op og kontrollerer, om den forbindende IP findes i den. Vi rapporterer resultatet og antallet af DNS-opslag, som posten krævede, fordi evalueringen stopper ved ti, og alt derover er en permanent fejl frem for en godkendelse.

Hvis den fejler: Udgiv en post, der kun angiver din afsendelsesplatform og intet andet. Hvis din er tæt på grænsen på ti opslag, skal du udflade de includes, du ikke bruger (en post, der godkendes i dag, begynder at fejle den dag, en udbyder tilføjer sin egen include).

Koster op til 18 point ud af 100 i vores score og op til 1 ud af 10 i den klassiske 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 — Define an SPF record

Google — Requirements for bulk senders (5,000+/day)

SPF-justering auth.spf_alignment

Om returadressen matcher den From-adresse, en læser ser. SPF godkender konvolutten, og DMARC medregner kun denne godkendelse, når de to er justeret.

Hvis den fejler: Bed din afsendelsesplatform om et returunderdomæne under dit eget domæne. Hvis din DKIM allerede er justeret, haster dette ikke, men uden det har du ingen reserve, når DKIM brydes under overførslen.

Koster op til 5 point ud af 100 i vores score og op til 0.5 ud af 10 i den klassiske score.

RFC 7489 §3.1.2 — SPF-Authenticated Identifiers

In relaxed mode, the [SPF]-authenticated domain and RFC5322.From domain must have the same Organizational Domain. In strict mode, only an exact DNS domain match is considered to produce Identifier Alignment.

RFC 7489 §6.6.2 — Determine Handling Policy

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

Google — Add a DMARC record

Google — Requirements for bulk senders (5,000+/day)

Infrastruktur og omdømme

Maskinen og adressen, som meddelelsen blev sendt fra, og hvad resten af internettet allerede mener om dem.

Afsenderværtsnavnet kan slås op infra.a_record

Om det værtsnavn, der annonceres ved HELO, overhovedet har en adresserecord.

Hvis den fejler: Udgiv en A-record for det navn, din server annoncerer.

Koster op til 5 point ud af 100 i vores score og op til 3 ud af 10 i den klassiske 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 — MX record values and troubleshooting

Blokeringslister infra.dnsbl

Om den afsendende IP er opført på nogen af de blokeringslister, som modtagere faktisk konsulterer. Vores liste kontrolleres mod hver zones eget dokumenterede testpunkt i stedet for at blive sammensat ud fra en websøgning, fordi en død zone svarer med NXDOMAIN, og det fortolkes som "ren".

Hvis den fejler: Følg processen for fjernelse fra listen på listeoperatørens websted. En registrering i en større zone stopper mail helt, så håndter den før alt andet på siden.

Koster op til 25 point ud af 100 i vores score og op til 3 ud af 10 i den klassiske 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-navn infra.helo

Det navn, som den afsendende server præsenterer sig med i begyndelsen af SMTP-samtalen. Det skal være et fuldt kvalificeret domænenavn, der kan slås op.

Hvis den fejler: Indstil din mailservers værtsnavn til et rigtigt navn på dit domæne, ikke til et container-id eller et internt navn.

Koster op til 5 point ud af 100 i vores 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 — Requirements for bulk senders (5,000+/day)

MX-record infra.mx

Om domænet i din From-header kan modtage mail. Uden en MX-record har svar og bounces ingen steder at gå hen, og filtre betragter et afsenderdomæne, der ikke kan modtage mail, som et dårligt tegn.

Hvis den fejler: Udgiv en MX-record for det domæne, du sender fra, også selvom den kun videresender til en postkasse, du læser én gang om måneden.

Koster op til 5 point ud af 100 i vores score og op til 3 ud af 10 i den klassiske score.

RFC 5321 §5.1 — Locating the Target Host

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

Google — MX record values and troubleshooting

Omvendt DNS infra.rdns

Om den afsendende IP kan slås op til et værtsnavn, og om dette værtsnavn kan slås op til den samme IP. Det er opslaget begge veje, der er pointen: Det er nemt at lade en PTR pege hvor som helst, mens et matchende par er tegn på, at adressen er din.

Hvis den fejler: Bed den, der ejer IP-adressen, om at sætte PTR til et navn, du kontrollerer, og sørg for, at navnet har en A-record, der peger tilbage.

Koster op til 12 point ud af 100 i vores score og op til 1.5 ud af 10 i den klassiske 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 — Requirements for bulk senders (5,000+/day)

Transportkryptering infra.tls

Om meddelelsen ankom via TLS, og med hvilken krypteringsalgoritme. Alle moderne systemer forhandler om det; en meddelelse, der ankommer ukrypteret, siger noget om afsenderopsætningen.

Hvis den fejler: Aktivér STARTTLS på den afsendende server. Alle gængse platforme gør allerede dette, så en fejl her betyder normalt, at der er et selvhostet relæ i ruten.

Koster op til 5 point ud af 100 i vores score.

RFC 3207 §2 — STARTTLS Extension

The STARTTLS extension to SMTP is laid out as follows:

Google — Require TLS for secure message transport

Google — Requirements for bulk senders (5,000+/day)

Spammotorer

Hvordan uafhængige indholdsfiltre vurderer meddelelsen. To motorer frem for én, fordi en enkelt motors score er den pågældende motors vurdering.

AI-dommer spam.ai_judge

En model estimerer, hvordan et moderne maskinlæringsfilter ville behandle meddelelsen, ud fra de tekniske resultater og indholdsmålingerne. Den ser fakta, ikke brødteksten.

Hvis den fejler: Kun en detalje i sig selv. Dens estimat indgår i den samlede afgørelse nedenfor.

Vises som detalje. Påvirker aldrig scoren.

Samlet afgørelse spam.panel

Ét tal fra de motorer, der svarede, vægtet, så den mest markante ikke blot udlignes af gennemsnittet. SpamAssassin og Postmark tæller som én stemme, fordi de deler et regelgrundlag.

Hvis den fejler: Gennemgå de enkelte resultater. Denne række ændrer sig, når de gør.

Koster op til 25 point ud af 100 i vores score.

Google — Why Gmail marks messages as spam

How this score is calculated

Postmark SpamCheck spam.postmark

En tredje vurdering, som som standard er slået fra. Dets slutpunkt modtager hele meddelelsen, og vi kan ikke maskere noget af den uden at ødelægge det, der måles, så hvis det slås til, betyder det, at man accepterer, at hver testet meddelelse kopieres til en tredjepart.

Hvis den fejler: Der er ikke noget at gøre. Når det er slået fra, rapporterer kontrollen, at det er slået fra, hvilket ikke er det samme som en godkendelse.

Vises som detalje. Påvirker aldrig scoren.

Rspamd spam.rspamd

Et andet, uafhængigt udviklet filter. Det er ofte nok uenigt med SpamAssassin til, at det er værd at spørge, hvilket er grunden til, at det er med her.

Hvis den fejler: Kun en detalje. Denne motors vurdering indgår i den samlede afgørelse i stedet for at få sin egen score.

Vises som detalje. Påvirker aldrig scoren.

SpamAssassin spam.spamassassin

Det klassiske regelbaserede filter, som stadig er motoren bag de fleste værktøjer til test af e-mail. Hver regel, der blev udløst, vises med sin vægt.

Hvis den fejler: Læs de regler, der blev udløst, i stedet for den samlede score. De fleste er nemme at afhjælpe, når du kan se, hvilke regler det drejer sig om.

Koster op til 3 ud af 10 i den klassiske score.

Google — Why Gmail marks messages as spam

Apache SpamAssassin — rule documentation

Indhold

Selve meddelelsen: dens struktur, dens links, dens billeder og de ting, et filter læser, før det træffer sin afgørelse.

Alt-tekst til billeder content.alt_attributes

Om billeder har alt-attributter. Mailklienter blokerer som standard eksterne billeder, så i de første par sekunder er alt-teksten dit budskab.

Hvis den fejler: Skriv alt-tekst, der formidler betydningen, og lad aldrig det primære visuelle element være uden.

Koster op til 4 point ud af 100 i vores score og op til 0.5 ud af 10 i den klassiske score.

Google — Email sender guidelines

Script og iframe content.forbidden_tags

Om HTML indeholder tags, som ingen mailklient vil køre. De fjernes i bedste fald og behandles i værste fald som et signal om omgåelse.

Hvis den fejler: Fjern script, iframe, object og embed. Alt interaktivt hører til bag et link.

Koster op til 10 point ud af 100 i vores score og op til 1 ud af 10 i den klassiske score.

Google — Email sender guidelines

Balance mellem tekst og HTML content.html_text_ratio

Hvor meget af meddelelsen der er markup i forhold til læsbar tekst. En side med markup omkring en enkelt sætning er et mønster, som filtre genkender.

Hvis den fejler: Skriv en tekstdel, der siger det samme som HTML-delen, i stedet for en pladsholder.

Koster op til 3 point ud af 100 i vores score og op til 0.3 ud af 10 i den klassiske 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- og HTML-dele content.html_version

Om meddelelsen indeholder et alternativ i almindelig tekst sammen med HTML. Nogle filtre lægger vægt på, hvis det mangler, og alle skærmlæsere har brug for et.

Hvis den fejler: Send multipart/alternative med en reel tekstversion, ikke en tom del eller en linje, der siger, at den skal vises i en browser.

Koster op til 5 point ud af 100 i vores 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-størrelse content.html_weight

Hvor stor HTML-delen er. Gmail beskærer en meddelelse efter cirka 102 KB og skjuler resten bag et link, hvilket også fjerner din afmeldingssidefod.

Hvis den fejler: Reducer inline-CSS og gentagne style-blokke (de fleste skabeloner kan være på en tredjedel af grænsen, når de ubrugte regler er fjernet).

Koster op til 3 point ud af 100 i vores score og op til 0.3 ud af 10 i den klassiske score.

Google — Email sender guidelines

Billedstørrelse content.images_weight

Den samlede størrelse af de billeder, som meddelelsen henter. Tunge billeder gør en meddelelse langsom på en telefon, og mails, der kun består af billeder, har en form, som filtre behandler med mistanke.

Hvis den fejler: Komprimer dem, og sørg for, at meddelelsen stadig kan læses, når billeder er slået fra.

Koster op til 3 point ud af 100 i vores score og op til 0.3 ud af 10 i den klassiske score.

Google — Email sender guidelines

Scanning af vedhæftede filer content.malware

Om vedhæftede filer indeholder kendt malware. I installationer, hvor scanneren er slået fra, rapporterer dette, at den ikke blev kørt, frem for at rapportere, at filerne er rene.

Hvis den fejler: Hvis dette udløses, skal du stoppe med at sende og finde ud af, hvad der findes på den maskine, som oprettede meddelelsen.

Koster op til 60 point ud af 100 i vores score.

Google — Why Gmail marks messages as spam

ClamAV — how detection works

Preheader content.preheader

Den forhåndsvisningslinje, som en klient viser ved siden af emnelinjen. Uden en sådan viser den det, der står først i brødteksten, hvilket normalt er et link til at se meddelelsen i en browser.

Hvis den fejler: Tilføj en skjult preheader-blok som det første element i brødteksten.

Koster op til 2 point ud af 100 i vores score.

Google — Email sender guidelines

Emnelinje content.subject

Længde, brug af store bogstaver og de mønstre, som filtre tildeler en score. Vi måler den afkodede emnelinje, så en linje med kyrilliske tegn eller CJK-tegn vurderes som tekst frem for som dens kodning.

Hvis den fejler: Hold den på under cirka 60 tegn, og fjern råberiet og udråbstegnene.

Koster op til 3 point ud af 100 i vores 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

Forkortede links content.url_shortener

Om links går gennem en offentlig linkforkorter. Linkforkortere skjuler destinationen, hvilket er præcis det, filtre er trænet til at betragte med mistillid.

Hvis den fejler: Link til dit eget domæne, eller brug din platforms sporingsdomæne på et af dine underdomæner.

Koster op til 5 point ud af 100 i vores score og op til 0.5 ud af 10 i den klassiske score.

Google — Why Gmail marks messages as spam

Regler for masseafsendere

De krav, som Gmail og Yahoo offentliggør for alle, der sender store mængder. Disse gælder for masseudsendelser og springes over for meddelelser, der ikke ligner en sådan.

DMARC-politik publiceret compliance.dmarc_present

Om From-domænet overhovedet publicerer en DMARC-post, uafhængigt af om denne meddelelse bestod kontrollen. Gmail og Yahoo kræver en fra masseafsendere.

Hvis den fejler: Publicer en post. p=none er nok til at opfylde kravet og giver dig rapporter at arbejde ud fra.

Koster op til 6 point ud af 100 i vores score.

RFC 7489 §6.3 — General Record Format

p: Requested Mail Receiver policy (plain-text; REQUIRED for policy records).

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

List-Unsubscribe compliance.list_unsubscribe

Om meddelelsen indeholder en afmeldingsheader, som en mailklient kan reagere på. Gmail og Yahoo kræver den fra masseafsendere, og dens fravær filtreres der på uanset alt andet.

Hvis den fejler: Tilføj en List-Unsubscribe-header med en HTTPS-URI. Alle afsendelsesplatforme kan gøre dette.

Koster op til 10 point ud af 100 i vores score og op til 1 ud af 10 i den klassiske 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 — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Afmelding med ét klik compliance.one_click_unsubscribe

Den strengere form: en HTTPS-URI, en "List-Unsubscribe-Post"-header og én gyldig DKIM-signatur, der dækker begge headere. Alle tre skal være til stede, ellers viser modtageren ikke knappen.

Hvis den fejler: Den sædvanlige fejl er signaturen: Platforme signerer "List-Unsubscribe" og glemmer "List-Unsubscribe-Post". Begge headernavne skal fremgå af h=-tagget i den samme signatur.

Koster op til 8 point ud af 100 i vores 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 — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Anbefalinger

Værd at gøre og påvirker aldrig scoren. Intet i dette afsnit kan koste point, hvilket er en produktbeslutning, som testene håndhæver.

BIMI advisory.bimi

Om domænet publicerer en BIMI-post, som placerer et logo ved siden af dine meddelelser i nogle klienter. Det kræver først en håndhævende DMARC-politik og et verificeret mærkecertifikat, som koster penge.

Hvis den fejler: Det er værd at gøre, når DMARC er sat til karantæne eller afvisning, og mængden retfærdiggør certifikatet.

Anbefaling. Koster intet.

BIMI — draft specification, not yet an RFC

DKIM-nøglens alder og længde advisory.dkim_key_rotation

Længden på signeringsnøglen, og hvor længe den har været i brug. Korte nøgler bliver billigere at angribe offline for hvert år, der går.

Hvis den fejler: Skift til 2048 bit, og rotér efter en fast plan. Udgiv den nye selektor, skift signeringen til den, og udfas derefter den gamle.

Anbefaling. Koster intet.

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 — Turn on DKIM for your domain

DNSSEC advisory.dnssec

Om domænet er signeret. SPF, DKIM og DMARC findes alle i DNS, så en angriber, der kan forfalske DNS-svar, kan forfalske alle tre.

Hvis den fejler: Aktivér det hos din domæneregistrator. Det er normalt én indstilling, og domæneregistratoren håndterer resten.

Anbefaling. Koster intet.

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

Om domænet publicerer en politik, der fortæller andre servere, at de skal afvise ukrypteret levering til dig. Den beskytter mail, der sendes til dig, frem for mail, du sender.

Hvis den fejler: Publicer TXT-posten og politikfilen via HTTPS (en eftermiddags arbejde, og det lukker et nedgraderingsangreb).

Anbefaling. Koster intet.

RFC 8461 §3 — Policy Discovery

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

TLS-rapportering advisory.tls_rpt

Om domænet anmoder om rapporter, når nogen ikke kan levere til det via TLS. Bruges sammen med MTA-STS: Politikken uden rapportering gør, at du ikke kan se, om den virker.

Hvis den fejler: Tilføj TXT-posten med en adresse, der modtager de daglige rapporter.

Anbefaling. Koster intet.

RFC 8460 §3 — Reporting Policy

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