Email Spam Tester Kör ett test · För agenter · API

Så fungerar testet

Skicka ett meddelande till en tillfällig adress så utförs 39 kontroller på det. Den här sidan innehåller dem alla: vad var och en granskar, vad den kostar i ditt resultat när den misslyckas och vilket avsnitt i standarden den kommer från.

Inget här är vår åsikt presenterad som en regel. När en kontroll upprätthåller något som anges i en standard citeras meningen från den standarden under kontrollen. När den i stället upprätthåller något som Google eller Yahoo kräver länkas deras sida. När det är vår egen bedömning anges det.

Autentisering

Huruvida den mottagande servern kan bevisa att meddelandet kom från den angivna avsändaren. Det här är den del av leveransbarheten som enbart handlar om DNS, och den del som Gmail och Yahoo gjorde obligatorisk för avsändare av massutskick 2024.

ARC-kedja auth.arc

ARC bevarar autentiseringsresultatet genom en vidarebefordrare. Utan ARC bryter en sändlista som lägger till en sidfot din DKIM-signatur och den vidarebefordrade kopian underkänns av DMARC hos slutmottagaren.

Om den misslyckas: Inget att göra som avsändare. Detta är relevant om du driver en lista eller en vidarebefordrare, och det förklarar varför en del av din e-post underkänns av DMARC efter att någon har vidarebefordrat den.

Kostar upp till 2 poäng av 100 i vårt resultat.

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 signerar delar av meddelandet med en privat nyckel och publicerar den offentliga nyckeln i DNS. Vi verifierar varje signatur som meddelandet innehåller och rapporterar signeringsdomänen, selektorn och nyckellängden.

Om den misslyckas: Aktivera DKIM på din sändningsplattform och publicera nyckeln som den ger dig. Använd 2048 bitar (1024 verifieras fortfarande, men är på väg att fasas ut).

Kostar upp till 18 poäng av 100 i vårt resultat och upp till 1 av 10 i det klassiska resultatet.

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-anpassning auth.dkim_alignment

En giltig signatur räcker inte för DMARC. Signeringsdomänen måste matcha domänen i From-huvudet, exakt eller på organisationsdomännivå beroende på policyn du har publicerat.

Om den misslyckas: Signera med din egen domän i stället för plattformens. De flesta plattformar stöder detta och kallar det en anpassad eller autentiserad sändningsdomän.

Kostar upp till 10 poäng av 100 i vårt resultat och upp till 1 av 10 i det klassiska resultatet.

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 knyter SPF och DKIM till domänen som läsaren ser och talar om för mottagare vad de ska göra när inget av dem är anpassat. Vi rapporterar den publicerade policyn och om det här meddelandet uppfyllde den.

Om den misslyckas: Publicera en DMARC-post. Börja med p=none, läs rapporterna i några veckor och gå sedan över till karantän när du vet vilka andra som skickar som dig.

Kostar upp till 14 poäng av 100 i vårt resultat.

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

Samma kontroll som SPF, men utförd mot domänen i From-huvudet i stället för kuvertet. Den besvarar en annan fråga: om domänen som läsaren ser auktoriserar servern som skickade meddelandet. Ett meddelande kan godkännas av SPF för sitt kuvert samtidigt som den synliga domänen inte går i god för någon.

Om den misslyckas: Publicera SPF för domänen i ditt From-huvud, inte bara för returdomänen som din plattform gav dig.

Kostar upp till 5 poäng av 100 i vårt resultat och upp till 0.5 av 10 i det klassiska resultatet.

RFC 4406 §4 — Record Selection

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

SPF auth.spf

SPF är en DNS-post som listar vilka servrar som får skicka för din domän. Den mottagande servern tar adressen i kuvertet, slår upp domänens post och kontrollerar om anslutande IP finns med i den. Vi rapporterar resultatet och antalet DNS-uppslagningar som posten krävde, eftersom utvärderingen stoppas vid tio och allt därutöver är ett permanent fel snarare än ett godkänt resultat.

Om den misslyckas: Publicera en post som anger din sändningsplattform och inget annat. Om din ligger nära gränsen på tio uppslagningar ska du platta ut de inkluderingsposter du inte använder (en post som godkänns i dag börjar underkännas den dag en leverantör lägger till en egen inkluderingspost).

Kostar upp till 18 poäng av 100 i vårt resultat och upp till 1 av 10 i det klassiska resultatet.

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-anpassning auth.spf_alignment

Om returadressen matchar From-adressen som en läsare ser. SPF auktoriserar kuvertet, och DMARC räknar bara den auktoriseringen när de två är anpassade till varandra.

Om den misslyckas: Be din sändningsplattform om en returunderdomän till din egen domän. Om din DKIM redan är anpassad är detta inte brådskande, men utan det saknar du en reservlösning när DKIM bryts under överföringen.

Kostar upp till 5 poäng av 100 i vårt resultat och upp till 0.5 av 10 i det klassiska resultatet.

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 och anseende

Maskinen och adressen som meddelandet skickades från, och vad resten av internet redan anser om dem.

Avsändande värdnamn kan slås upp infra.a_record

Om värdnamnet som anges vid HELO över huvud taget har en adresspost.

Om den misslyckas: Publicera en A-post för namnet som servern presenterar.

Kostar upp till 5 poäng av 100 i vårt resultat och upp till 3 av 10 i det klassiska resultatet.

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

Blockeringslistor infra.dnsbl

Om avsändande IP finns med på någon av de blockeringslistor som mottagare faktiskt använder. Vår lista kontrolleras mot varje zons egen dokumenterade testpunkt i stället för att sammanställas från en webbsökning, eftersom en inaktiv zon svarar NXDOMAIN och det tolkas som "rent".

Om den misslyckas: Följ processen för avlistning på listoperatörens webbplats. En listning i en större zon stoppar e-post helt, så åtgärda den före allt annat på sidan.

Kostar upp till 25 poäng av 100 i vårt resultat och upp till 3 av 10 i det klassiska resultatet.

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-namn infra.helo

Namnet som den avsändande servern presenterar sig med i början av SMTP-konversationen. Det måste vara en fullständigt kvalificerad domän som kan slås upp.

Om den misslyckas: Ställ in e-postserverns värdnamn till ett verkligt namn i din domän, inte till ett container-id eller ett internt namn.

Kostar upp till 5 poäng av 100 i vårt resultat.

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-post infra.mx

Om domänen i ditt From-huvud kan ta emot e-post. Utan den har svar och studsar ingenstans att ta vägen, och filter betraktar en avsändande domän som inte kan ta emot e-post som ett dåligt tecken.

Om den misslyckas: Publicera en MX-post för domänen du skickar från, även om den bara dirigerar till en brevlåda som du läser en gång i månaden.

Kostar upp till 5 poäng av 100 i vårt resultat och upp till 3 av 10 i det klassiska resultatet.

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

Omvänd DNS infra.rdns

Om den avsändande IP-adressen kan slås upp till ett värdnamn, och om det värdnamnet kan slås upp framåt till samma IP-adress. Tur och retur är poängen: en PTR som pekar någonstans är enkel att ordna, ett matchande par är bevis på att adressen är din.

Om den misslyckas: Be den som äger IP-adressen att ställa in PTR till ett namn som du kontrollerar, och se till att namnet har en A-post som pekar tillbaka.

Kostar upp till 12 poäng av 100 i vårt resultat och upp till 1.5 av 10 i det klassiska resultatet.

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 meddelandet anlände via TLS, och med vilket chiffer. Alla moderna system förhandlar fram det; ett meddelande som anländer i klartext säger något om avsändarkonfigurationen.

Om den misslyckas: Aktivera STARTTLS på den avsändande servern. Alla etablerade plattformar gör redan detta, så ett fel här innebär vanligtvis att ett egenhostat relä finns i transportvägen.

Kostar upp till 5 poäng av 100 i vårt resultat.

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

Hur oberoende innehållsfilter bedömer meddelandet. Två motorer i stället för en, eftersom en enskild motors poäng är den motorns åsikt.

AI-bedömning spam.ai_judge

En modell uppskattar hur ett modernt maskininlärningsfilter skulle behandla meddelandet, utifrån de tekniska resultaten och innehållsmätningarna. Den ser fakta, inte brödtexten.

Om den misslyckas: Endast information i sig. Dess uppskattning bidrar till det samlade resultatet nedan.

Visas som information. Påverkar aldrig resultatet.

Samlat resultat spam.panel

Ett värde från motorerna som svarade, viktat så att den starkaste signalen inte bara försvinner i genomsnittet. SpamAssassin och Postmark räknas som en enda röst eftersom de delar en regelbas.

Om den misslyckas: Gå igenom de enskilda resultaten. Den här raden ändras när de gör det.

Kostar upp till 25 poäng av 100 i vårt resultat.

Google — Why Gmail marks messages as spam

How this score is calculated

Postmark SpamCheck spam.postmark

En tredje bedömning, inaktiverad som standard. Dess slutpunkt tar emot hela meddelandet och vi kan inte maskera någon del av det utan att förstöra det som mäts, så att aktivera den innebär att godkänna att varje testat meddelande kopieras till en tredje part.

Om den misslyckas: Inget behöver göras. När den är inaktiverad rapporterar kontrollen att den är inaktiverad, vilket inte är samma sak som ett godkänt resultat.

Visas som information. Påverkar aldrig resultatet.

Rspamd spam.rspamd

Ett andra, oberoende utvecklat filter. Det skiljer sig tillräckligt ofta från SpamAssassin för att vara värt att fråga, vilket är anledningen till att det finns här.

Om den misslyckas: Endast information. Den här motorns bedömning vägs in i det samlade resultatet i stället för att poängsättas separat.

Visas som information. Påverkar aldrig resultatet.

SpamAssassin spam.spamassassin

Det klassiska regelbaserade filtret, fortfarande motorn bakom de flesta verktyg för e-posttestning. Varje regel som utlöstes visas med sin vikt.

Om den misslyckas: Läs reglerna som utlöstes i stället för totalpoängen. De flesta är enkla att åtgärda när du kan se vilka de är.

Kostar upp till 3 av 10 i det klassiska resultatet.

Google — Why Gmail marks messages as spam

Apache SpamAssassin — rule documentation

Innehåll

Själva meddelandet: dess struktur, dess länkar, dess bilder, det som ett filter läser innan det fattar sitt beslut.

Alternativtext för bilder content.alt_attributes

Om bilder har alt-attribut. E-postklienter blockerar externa bilder som standard, så under de första sekunderna är alternativtexten ditt meddelande.

Om den misslyckas: Skriv alternativtext som förmedlar innebörden, och lämna aldrig huvudbilden utan en sådan.

Kostar upp till 4 poäng av 100 i vårt resultat och upp till 0.5 av 10 i det klassiska resultatet.

Google — Email sender guidelines

Script och iframe content.forbidden_tags

Om HTML innehåller taggar som ingen e-postklient kör. De tas i bästa fall bort och behandlas i värsta fall som ett tecken på försök att kringgå filter.

Om den misslyckas: Ta bort script, iframe, object och embed. Allt interaktivt hör hemma bakom en länk.

Kostar upp till 10 poäng av 100 i vårt resultat och upp till 1 av 10 i det klassiska resultatet.

Google — Email sender guidelines

Balans mellan text och HTML content.html_text_ratio

Hur stor del av meddelandet som är märkspråk jämfört med hur mycket som är läsbar text. En sida med märkspråk runt en enda mening är ett mönster som filter känner igen.

Om den misslyckas: Skriv en textdel som säger samma sak som HTML, i stället för en platshållare.

Kostar upp till 3 poäng av 100 i vårt resultat och upp till 0.3 av 10 i det klassiska resultatet.

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

Text- och HTML-delar content.html_version

Om meddelandet innehåller ett alternativ i klartext vid sidan av HTML. Vissa filter väger in om det saknas, och alla skärmläsare behöver ett.

Om den misslyckas: Skicka multipart/alternative med en riktig textversion, inte en tom del eller en rad som säger att den ska visas i en webbläsare.

Kostar upp till 5 poäng av 100 i vårt resultat.

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-storlek content.html_weight

Hur stor HTML-delen är. Gmail klipper ett meddelande efter ungefär 102 kB och döljer resten bakom en länk, vilket gör att även sidfoten för avregistrering försvinner.

Om den misslyckas: Rensa bort infogad CSS och upprepade stilblock (de flesta mallar ryms inom en tredjedel av gränsen när de oanvända reglerna har tagits bort).

Kostar upp till 3 poäng av 100 i vårt resultat och upp till 0.3 av 10 i det klassiska resultatet.

Google — Email sender guidelines

Bildstorlek content.images_weight

Den totala storleken på bilderna som meddelandet hämtar. Tunga bilder gör ett meddelande långsamt på en telefon, och e-post som enbart består av bilder är ett format som filter behandlar med misstänksamhet.

Om den misslyckas: Komprimera dem och se till att meddelandet fortfarande går att läsa när bilder är avstängda.

Kostar upp till 3 poäng av 100 i vårt resultat och upp till 0.3 av 10 i det klassiska resultatet.

Google — Email sender guidelines

Bilageskanning content.malware

Huruvida bilagor innehåller känd skadlig kod. I installationer där skannern är avstängd rapporterar detta att den inte kördes i stället för att rapportera att inget hittades.

Om den misslyckas: Om detta ger utslag ska du sluta skicka och ta reda på vad som finns på datorn som skapade meddelandet.

Kostar upp till 60 poäng av 100 i vårt resultat.

Google — Why Gmail marks messages as spam

ClamAV — how detection works

Förhandsrubrik content.preheader

Förhandsvisningsraden som en klient visar bredvid ämnesraden. Utan en sådan visas det som kommer först i brödtexten, vilket vanligtvis är en länk för att visa meddelandet i webbläsaren.

Om den misslyckas: Lägg till ett dolt förhandsrubriksblock som det första elementet i brödtexten.

Kostar upp till 2 poäng av 100 i vårt resultat.

Google — Email sender guidelines

Ämnesrad content.subject

Längd, användning av versaler och de mönster som filter poängsätter. Vi mäter den avkodade ämnesraden, så en rad med kyrilliska tecken eller CJK bedöms som text snarare än som dess kodning.

Om den misslyckas: Håll den under cirka 60 tecken och ta bort versalerna och utropstecknen.

Kostar upp till 3 poäng av 100 i vårt resultat.

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

Förkortade länkar content.url_shortener

Om länkar går via en offentlig länkförkortare. Länkförkortare döljer destinationen, vilket är precis vad filter är tränade att misstro.

Om den misslyckas: Länka till din egen domän, eller använd plattformens spårningsdomän på en av dina underdomäner.

Kostar upp till 5 poäng av 100 i vårt resultat och upp till 0.5 av 10 i det klassiska resultatet.

Google — Why Gmail marks messages as spam

Regler för massutskick

Kraven som Gmail och Yahoo publicerar för alla som skickar stora volymer. Dessa gäller för utskick och hoppas över för meddelanden som inte ser ut som ett utskick.

DMARC-policy publicerad compliance.dmarc_present

Om From-domänen överhuvudtaget publicerar en DMARC-post, separat från om det här meddelandet klarade den. Gmail och Yahoo kräver en sådan från massutskickare.

Om den misslyckas: Publicera en post. p=none räcker för att uppfylla kravet och ger dig rapporter att arbeta utifrån.

Kostar upp till 6 poäng av 100 i vårt resultat.

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 meddelandet har ett avregistreringshuvud som en e-postklient kan agera på. Gmail och Yahoo kräver det från massutskickare, och frånvaron av det används som filterkriterium oavsett allt annat.

Om den misslyckas: Lägg till ett List-Unsubscribe-huvud med en HTTPS-URI. Alla utskicksplattformar kan göra detta.

Kostar upp till 10 poäng av 100 i vårt resultat och upp till 1 av 10 i det klassiska resultatet.

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

Avregistrering med ett klick compliance.one_click_unsubscribe

Den striktare formen: en HTTPS-URI, ett "List-Unsubscribe-Post"-huvud och en enda giltig DKIM-signatur som omfattar båda huvudena. Alla tre krävs, annars visar mottagaren inte knappen.

Om den misslyckas: Det som vanligtvis saknas är signaturen: plattformar signerar "List-Unsubscribe" och glömmer "List-Unsubscribe-Post". Båda huvudnamnen måste finnas i h=-taggen för samma signatur.

Kostar upp till 8 poäng av 100 i vårt resultat.

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

Rekommendationer

Värt att göra och påverkar aldrig resultatet. Inget i det här avsnittet kan kosta poäng, vilket är ett produktbeslut som testerna upprätthåller.

BIMI advisory.bimi

Om domänen publicerar en BIMI-post, vilket placerar en logotyp bredvid dina meddelanden i vissa klienter. Det kräver först en tvingande DMARC-policy och ett verifierat varumärkescertifikat som kostar pengar.

Om den misslyckas: Värt att göra när DMARC är inställt på karantän eller avvisning och volymen motiverar certifikatet.

Rekommendation. Kostar ingenting.

BIMI — draft specification, not yet an RFC

DKIM-nyckelns ålder och längd advisory.dkim_key_rotation

Signeringsnyckelns längd och hur länge den har använts. Korta nycklar blir billigare att angripa offline för varje år som går.

Om den misslyckas: Byt till 2048 bitar och rotera enligt ett schema. Publicera den nya selektorn, byt till att signera med den och ta sedan den gamla ur bruk.

Rekommendation. Kostar ingenting.

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

Huruvida domänen är signerad. SPF, DKIM och DMARC finns alla i DNS, så en angripare som kan förfalska DNS-svar kan förfalska alla tre.

Om den misslyckas: Aktivera det hos din registrar. Det är vanligtvis en enda inställning, och registraren hanterar resten.

Rekommendation. Kostar ingenting.

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änen publicerar en policy som säger åt andra servrar att neka okrypterad leverans till dig. Det skyddar e-post som skickas till dig snarare än e-post som du skickar.

Om den misslyckas: Publicera TXT-posten och policyfilen över HTTPS (en eftermiddags arbete, och det stänger en nedgraderingsattack).

Rekommendation. Kostar ingenting.

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

Huruvida domänen begär rapporter när någon misslyckas med att leverera till den över TLS. Kombineras med MTA-STS: policyn utan rapportering gör att du inte kan avgöra om den fungerar.

Om den misslyckas: Lägg till TXT-posten med en adress som tar emot de dagliga rapporterna.

Rekommendation. Kostar ingenting.

RFC 8460 §3 — Reporting Policy

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