Email Spam Tester Uruchom test · Dla agentów · API · Blog

Jak działa test

Wyślij jedną wiadomość na jednorazowy adres, a zostanie przeprowadzonych 42 kontroli. Ta strona opisuje je wszystkie: co sprawdza każda z nich, ile punktów odejmuje w razie niepowodzenia i z której sekcji standardu pochodzi.

Nic tutaj nie jest naszą opinią przedstawioną jako reguła. Gdy kontrola egzekwuje wymaganie określone w standardzie, odpowiednie zdanie z tego standardu jest cytowane poniżej. Gdy zamiast tego egzekwuje wymaganie Google lub Yahoo, podajemy link do ich strony. Gdy jest oparta na naszej własnej ocenie, jest to wyraźnie zaznaczone.

Zaktualizowano:

TestGrupaNasza ocenaKlasyczna ocena
Łańcuch ARCUwierzytelnianie−20
Podpis DKIMUwierzytelnianie−18−1
Zgodność DKIMUwierzytelnianie−10−1
Wynik DMARCUwierzytelnianie−140
Sender IDUwierzytelnianie−5−0.5
SPFUwierzytelnianie−18−1
Zgodność SPFUwierzytelnianie−5−0.5
Rozwiązywanie nazwy hosta wysyłającegoInfrastruktura i reputacja−5−3
Listy blokująceInfrastruktura i reputacja−25−3
Nazwa HELOInfrastruktura i reputacja−50
Rekord MXInfrastruktura i reputacja−5−3
Odwrotny DNSInfrastruktura i reputacja−12−1.5
Szyfrowanie transportuInfrastruktura i reputacja−50
Ocena AISilniki antyspamowe
Łączny werdyktSilniki antyspamowe−250
Postmark SpamCheckSilniki antyspamowe
RspamdSilniki antyspamowe
SpamAssassinSilniki antyspamowe0−3
Tekst alternatywny obrazówTreść−4−0.5
Dostępność linkówTreść−5−1
Script i iframeTreść−10−1
Proporcja tekstu do HTMLTreść−3−0.3
Części tekstowa i HTMLTreść−50
Rozmiar HTMLTreść−3−0.3
Rozmiar obrazówTreść−3−0.3
Docelowe domeny widocznych linkówTreść−30
Reputacja linkówTreść−400
Skanowanie załącznikówTreść−600
Tekst podgląduTreść−20
Temat wiadomościTreść−30
Skrócone odsyłaczeTreść−5−0.5
Opublikowana polityka DMARCReguły dla nadawców masowych−60
List-UnsubscribeReguły dla nadawców masowych−10−1
Anulowanie subskrypcji jednym kliknięciemReguły dla nadawców masowych−80
TLS dla poczty masowejReguły dla nadawców masowych−50
BIMIZalecenia00
Wiek i długość klucza DKIMZalecenia00
Dostarczanie raportów DMARCZalecenia00
DNSSECZalecenia00
MTA-STSZalecenia00
Długość ścieżki zwrotnejZalecenia00
Raportowanie TLSZalecenia00

Uwierzytelnianie

Czy serwer odbierający może potwierdzić, że wiadomość pochodzi z deklarowanego źródła. To połowa kwestii dostarczalności zależna wyłącznie od DNS i połowa, którą Gmail i Yahoo uczyniły obowiązkową dla nadawców masowych w 2024 roku.

Łańcuch ARC auth.arc

ARC zachowuje wynik uwierzytelnienia po przekazaniu wiadomości dalej. Bez niego lista mailingowa, która dodaje stopkę, narusza Twój podpis DKIM, a przekazana kopia nie przechodzi weryfikacji DMARC po stronie odbiorcy.

Jeśli kontrola zakończy się niepowodzeniem: Jako nadawca nie musisz nic robić. Ma to znaczenie, jeśli obsługujesz listę lub usługę przekazywania wiadomości, i wyjaśnia, dlaczego niektóre z Twoich wiadomości nie przechodzą weryfikacji DMARC po przekazaniu ich przez kogoś dalej.

Kosztuje do 2 punktów ze 100 w naszej punktacji.

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

Podpis DKIM auth.dkim

DKIM podpisuje części wiadomości kluczem prywatnym i publikuje klucz publiczny w DNS. Weryfikujemy każdy podpis zawarty w wiadomości i raportujemy domenę podpisującą, selektor oraz długość klucza.

Jeśli kontrola zakończy się niepowodzeniem: Włącz DKIM na swojej platformie wysyłkowej i opublikuj przekazany przez nią klucz. Użyj 2048 bitów: 1024 nadal przechodzi weryfikację, ale tak krótki klucz można złamać i nie jest już bezpieczny.

Kosztuje do 18 punktów ze 100 w naszej punktacji i do 1 punktów z 10 w klasycznej punktacji.

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

Zgodność DKIM auth.dkim_alignment

Prawidłowy podpis nie wystarcza do DMARC. Domena podpisująca musi odpowiadać domenie w nagłówku From, dokładnie lub na poziomie domeny organizacyjnej, zależnie od opublikowanej polityki.

Jeśli kontrola zakończy się niepowodzeniem: Podpisuj przy użyciu własnej domeny zamiast domeny swojej platformy. Większość platform to obsługuje i nazywa niestandardową lub uwierzytelnioną domeną wysyłkową.

Kosztuje do 10 punktów ze 100 w naszej punktacji i do 1 punktów z 10 w klasycznej punktacji.

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

Wynik DMARC auth.dmarc

DMARC wiąże SPF i DKIM z domeną widoczną dla czytelnika i informuje odbiorców, co zrobić, gdy żaden z tych mechanizmów nie jest zgodny. Raportujemy opublikowaną politykę oraz to, czy ta wiadomość ją spełniła.

Jeśli kontrola zakończy się niepowodzeniem: Opublikuj rekord DMARC. Zacznij od p=none, analizuj raporty przez kilka tygodni, a następnie przejdź do quarantine, gdy ustalisz, jakie inne systemy wysyłają wiadomości w Twoim imieniu.

Kosztuje do 14 punktów ze 100 w naszej punktacji.

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

To samo sprawdzenie co SPF, wykonywane względem domeny w nagłówku From zamiast domeny z koperty. Odpowiada na inne pytanie: czy domena widoczna dla czytelnika upoważnia serwer, który wysłał wiadomość. Wiadomość może przejść SPF dla swojej koperty, podczas gdy widoczna domena nie potwierdza uprawnień żadnego serwera.

Jeśli kontrola zakończy się niepowodzeniem: Opublikuj SPF dla domeny w nagłówku From, a nie tylko dla domeny zwrotów przekazanej przez Twoją platformę.

Kosztuje do 5 punktów ze 100 w naszej punktacji i do 0.5 punktów z 10 w klasycznej punktacji.

RFC 4406 §4 — Record Selection

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

SPF auth.spf

SPF to rekord DNS zawierający listę serwerów, które mogą wysyłać wiadomości w imieniu Twojej domeny. Serwer odbierający pobiera adres z koperty, wyszukuje rekord tej domeny i sprawdza, czy znajduje się w nim łączący się adres IP. Raportujemy wynik oraz liczbę wyszukiwań DNS wymaganych przez rekord, ponieważ ocena zatrzymuje się na dziesięciu, a przekroczenie tego limitu oznacza trwały błąd, a nie wynik pozytywny.

Jeśli kontrola zakończy się niepowodzeniem: Opublikuj rekord, który wskazuje Twoją platformę wysyłkową i nic więcej. Jeśli Twój rekord jest blisko limitu dziesięciu wyszukiwań, spłaszcz nieużywane dyrektywy include (rekord, który dziś przechodzi weryfikację, zacznie ją oblewać w dniu, w którym dostawca doda własną dyrektywę include).

Kosztuje do 18 punktów ze 100 w naszej punktacji i do 1 punktów z 10 w klasycznej punktacji.

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

Zgodność SPF auth.spf_alignment

Określa, czy adres zwrotów odpowiada adresowi From widocznemu dla czytelnika. SPF autoryzuje kopertę, a DMARC uwzględnia tę autoryzację tylko wtedy, gdy oba adresy są zgodne.

Jeśli kontrola zakończy się niepowodzeniem: Poproś swoją platformę wysyłkową o poddomenę zwrotów należącą do Twojej domeny. Jeśli Twój DKIM jest już zgodny, nie jest to pilne, ale bez tego nie masz mechanizmu awaryjnego, gdy DKIM przestanie działać podczas przesyłania.

Kosztuje do 5 punktów ze 100 w naszej punktacji i do 0.5 punktów z 10 w klasycznej punktacji.

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

Infrastruktura i reputacja

Maszyna i adres, z których wysłano wiadomość, oraz to, co reszta internetu już o nich sądzi.

Rozwiązywanie nazwy hosta wysyłającego infra.a_record

Czy nazwa hosta przedstawiona podczas HELO ma jakikolwiek rekord adresowy.

Jeśli kontrola zakończy się niepowodzeniem: Opublikuj rekord A dla nazwy przedstawianej przez Twój serwer.

Kosztuje do 5 punktów ze 100 w naszej punktacji i do 3 punktów z 10 w klasycznej punktacji.

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

Listy blokujące infra.dnsbl

Czy wysyłający IP znajduje się na którejkolwiek z list blokujących faktycznie sprawdzanych przez odbiorców. Nasz wykaz jest sprawdzany względem udokumentowanego punktu testowego każdej strefy, a nie tworzony na podstawie wyszukiwania w internecie, ponieważ nieaktywna strefa odpowiada NXDOMAIN, co jest interpretowane jako wynik „czysty”.

Jeśli kontrola zakończy się niepowodzeniem: Wykonaj procedurę usunięcia z listy opisaną w witrynie jej operatora. Obecność na liście w jednej z głównych stref całkowicie blokuje pocztę, więc zajmij się nią przed wszystkim innym na tej stronie.

Kosztuje do 25 punktów ze 100 w naszej punktacji i do 3 punktów z 10 w klasycznej punktacji.

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

Nazwa HELO infra.helo

Nazwa, którą serwer wysyłający przedstawia się na początku komunikacji SMTP. Musi to być w pełni kwalifikowana domena, która jest rozwiązywana.

Jeśli kontrola zakończy się niepowodzeniem: Ustaw nazwę hosta serwera pocztowego na rzeczywistą nazwę w swojej domenie, a nie na identyfikator kontenera lub nazwę wewnętrzną.

Kosztuje do 5 punktów ze 100 w naszej punktacji.

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

Rekord MX infra.mx

Czy domena w nagłówku From może odbierać pocztę. Bez niego odpowiedzi i zwroty nie mają dokąd trafiać, a filtry uznają domenę wysyłającą, która nie może odbierać poczty, za zły sygnał.

Jeśli kontrola zakończy się niepowodzeniem: Opublikuj rekord MX dla domeny, z której wysyłasz, nawet jeśli kieruje tylko do skrzynki pocztowej sprawdzanej raz w miesiącu.

Kosztuje do 5 punktów ze 100 w naszej punktacji i do 3 punktów z 10 w klasycznej punktacji.

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

Odwrotny DNS infra.rdns

Czy wysyłający IP jest rozwiązywany wstecznie na nazwę hosta i czy ta nazwa hosta jest rozwiązywana z powrotem na ten sam IP. Istotna jest zgodność w obie strony: rekord PTR wskazujący na dowolną nazwę jest łatwy do ustawienia, a zgodna para stanowi dowód, że adres należy do Ciebie.

Jeśli kontrola zakończy się niepowodzeniem: Poproś właściciela IP o ustawienie rekordu PTR na nazwę, którą kontrolujesz, i upewnij się, że ta nazwa ma rekord A wskazujący z powrotem na ten adres.

Kosztuje do 12 punktów ze 100 w naszej punktacji i do 1.5 punktów z 10 w klasycznej punktacji.

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

Szyfrowanie transportu infra.tls

Czy wiadomość dotarła przez TLS i z użyciem jakiego szyfru. Wszystkie nowoczesne systemy go negocjują; wiadomość przesłana bez szyfrowania świadczy o konfiguracji wysyłania.

Jeśli kontrola zakończy się niepowodzeniem: Włącz STARTTLS na serwerze wysyłającym. Każda popularna platforma już to obsługuje, więc niepowodzenie w tym miejscu zwykle oznacza samodzielnie hostowany przekaźnik na trasie.

Kosztuje do 5 punktów ze 100 w naszej punktacji.

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

Silniki antyspamowe

Jak niezależne filtry treści oceniają wiadomość. Dwa silniki zamiast jednego, ponieważ wynik pojedynczego silnika jest opinią tego silnika.

Ocena AI spam.ai_judge

Model szacuje, jak nowoczesny filtr oparty na uczeniu maszynowym potraktowałby wiadomość, na podstawie ustaleń technicznych i pomiarów treści. Otrzymuje fakty, a nie tekst wiadomości.

Jeśli kontrola zakończy się niepowodzeniem: Samodzielnie ma tylko charakter informacyjny. Jego oszacowanie wpływa na łączny werdykt poniżej.

Pokazywane informacyjnie. Nigdy nie jest punktowane.

Łączny werdykt spam.panel

Jedna liczba z mechanizmów, które odpowiedziały, ważona tak, aby najwyższy wynik nie został po prostu uśredniony z pozostałymi. SpamAssassin i Postmark liczą się jako jeden głos, ponieważ korzystają ze wspólnego zestawu reguł.

Jeśli kontrola zakończy się niepowodzeniem: Przeanalizuj poszczególne ustalenia. Ten wiersz zmienia się wraz z nimi.

Kosztuje do 25 punktów ze 100 w naszej punktacji.

Google — Why Gmail marks messages as spam

How this score is calculated

Postmark SpamCheck spam.postmark

Trzecia opinia, domyślnie wyłączona. Punkt końcowy przyjmuje całą wiadomość i nie możemy zredagować żadnej jej części bez zniszczenia tego, co jest mierzone, więc włączenie tej funkcji oznacza zgodę na kopiowanie każdej testowanej wiadomości do podmiotu zewnętrznego.

Jeśli kontrola zakończy się niepowodzeniem: Nie trzeba nic robić. Gdy funkcja jest wyłączona, test zgłasza, że jest wyłączona, co nie jest tym samym co wynik pozytywny.

Pokazywane informacyjnie. Nigdy nie jest punktowane.

Rspamd spam.rspamd

Drugi, niezależnie opracowany filtr. Wystarczająco często nie zgadza się ze SpamAssassin, aby warto było go sprawdzić, dlatego znajduje się tutaj.

Jeśli kontrola zakończy się niepowodzeniem: Tylko informacyjnie. Opinia tego mechanizmu jest uwzględniana w łącznym werdykcie, a nie oceniana osobno.

Pokazywane informacyjnie. Nigdy nie jest punktowane.

SpamAssassin spam.spamassassin

Klasyczny filtr oparty na regułach, nadal stanowiący mechanizm większości narzędzi do testowania poczty. Każda uruchomiona reguła jest wymieniona wraz ze swoją wagą.

Jeśli kontrola zakończy się niepowodzeniem: Sprawdź uruchomione reguły, a nie łączny wynik. Większość z nich można łatwo wyeliminować, gdy wiadomo, które zadziałały.

Kosztuje do 3 punktów z 10 w klasycznej punktacji.

Google — Why Gmail marks messages as spam

Apache SpamAssassin — rule documentation

Treść

Sama wiadomość: jej struktura, linki, obrazy i elementy odczytywane przez filtr przed podjęciem decyzji.

Tekst alternatywny obrazów content.alt_attributes

Czy obrazy mają atrybuty alt. Klienty poczty domyślnie blokują obrazy zdalne, więc przez pierwszych kilka sekund tekst alternatywny jest twoją wiadomością.

Jeśli kontrola zakończy się niepowodzeniem: Napisz tekst alternatywny, który przekazuje znaczenie, i nigdy nie pozostawiaj głównego elementu wizualnego bez takiego tekstu.

Kosztuje do 4 punktów ze 100 w naszej punktacji i do 0.5 punktów z 10 w klasycznej punktacji.

Google — Email sender guidelines

Script i iframe content.forbidden_tags

Czy HTML zawiera znaczniki, których nie uruchomi żaden klient poczty. W najlepszym razie są usuwane, a w najgorszym traktowane jako sygnał próby obejścia filtrów.

Jeśli kontrola zakończy się niepowodzeniem: Usuń script, iframe, object i embed. Wszystkie elementy interaktywne powinny znajdować się za odsyłaczem.

Kosztuje do 10 punktów ze 100 w naszej punktacji i do 1 punktów z 10 w klasycznej punktacji.

Google — Email sender guidelines

Proporcja tekstu do HTML content.html_text_ratio

Ile w wiadomości jest znaczników w stosunku do czytelnego tekstu. Strona znaczników otaczająca jedno zdanie to forma rozpoznawana przez filtry.

Jeśli kontrola zakończy się niepowodzeniem: Napisz część tekstową, która przekazuje to samo co HTML, zamiast tekstu zastępczego.

Kosztuje do 3 punktów ze 100 w naszej punktacji i do 0.3 punktów z 10 w klasycznej punktacji.

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

Części tekstowa i HTML content.html_version

Czy wiadomość zawiera alternatywną wersję w postaci zwykłego tekstu obok wersji HTML. Niektóre filtry uwzględniają jej brak, a każdy czytnik ekranu jej potrzebuje.

Jeśli kontrola zakończy się niepowodzeniem: Wysyłaj multipart/alternative z rzeczywistą wersją tekstową, a nie pustą częścią ani wierszem z informacją, aby wyświetlić wiadomość w przeglądarce.

Kosztuje do 5 punktów ze 100 w naszej punktacji.

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

Rozmiar HTML content.html_weight

Jak duża jest część HTML. Gmail przycina wiadomość po przekroczeniu około 102 KB i ukrywa resztę za odsyłaczem, razem ze stopką umożliwiającą rezygnację z subskrypcji.

Jeśli kontrola zakończy się niepowodzeniem: Ogranicz wbudowany CSS i powtarzające się bloki stylów (większość szablonów mieści się w jednej trzeciej limitu po usunięciu nieużywanych reguł).

Kosztuje do 3 punktów ze 100 w naszej punktacji i do 0.3 punktów z 10 w klasycznej punktacji.

Google — Email sender guidelines

Rozmiar obrazów content.images_weight

Łączny rozmiar obrazów pobieranych przez wiadomość. Duże obrazy spowalniają wiadomość na telefonie, a wiadomość składająca się wyłącznie z obrazów ma formę, którą filtry traktują podejrzliwie.

Jeśli kontrola zakończy się niepowodzeniem: Skompresuj je i upewnij się, że wiadomość nadal jest czytelna przy wyłączonych obrazach.

Kosztuje do 3 punktów ze 100 w naszej punktacji i do 0.3 punktów z 10 w klasycznej punktacji.

Google — Email sender guidelines

Skanowanie załączników content.malware

Czy załączniki zawierają znane złośliwe oprogramowanie. W instalacjach, w których skaner jest wyłączony, test zgłasza, że nie został uruchomiony, zamiast zgłaszać brak zagrożeń.

Jeśli kontrola zakończy się niepowodzeniem: Jeśli ten test zgłosi problem, przerwij wysyłanie i sprawdź, co znajduje się na komputerze, na którym utworzono wiadomość.

Kosztuje do 60 punktów ze 100 w naszej punktacji.

Google — Why Gmail marks messages as spam

ClamAV — how detection works

Tekst podglądu content.preheader

Wiersz podglądu wyświetlany przez klienta obok tematu. Bez niego wyświetlane jest to, co znajduje się na początku treści, czyli zwykle link do wyświetlenia wiadomości w przeglądarce.

Jeśli kontrola zakończy się niepowodzeniem: Dodaj ukryty blok tekstu podglądu jako pierwszy element treści.

Kosztuje do 2 punktów ze 100 w naszej punktacji.

Google — Email sender guidelines

Temat wiadomości content.subject

Długość, użycie wielkich liter i wzorce oceniane przez filtry. Mierzymy zdekodowany temat, więc wiersz zapisany cyrylicą lub znakami CJK jest oceniany jako tekst, a nie jako jego kodowanie.

Jeśli kontrola zakończy się niepowodzeniem: Nie przekraczaj około 60 znaków, zrezygnuj z krzyczących wielkich liter i wykrzykników.

Kosztuje do 3 punktów ze 100 w naszej punktacji.

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

Skrócone odsyłacze content.url_shortener

Czy odsyłacze przechodzą przez publiczną usługę skracania. Usługi skracania ukrywają miejsce docelowe, a właśnie temu filtry są uczone nie ufać.

Jeśli kontrola zakończy się niepowodzeniem: Użyj odsyłaczy do własnej domeny albo domeny śledzącej swojej platformy w należącej do ciebie subdomenie.

Kosztuje do 5 punktów ze 100 w naszej punktacji i do 0.5 punktów z 10 w klasycznej punktacji.

Google — Why Gmail marks messages as spam

Reguły dla nadawców masowych

Wymagania publikowane przez Gmail i Yahoo dla każdego, kto wysyła wiadomości masowo. Mają zastosowanie do wysyłek masowych i są pomijane w przypadku wiadomości, które nie wyglądają na taką wysyłkę.

Opublikowana polityka DMARC compliance.dmarc_present

Czy domena z pola From publikuje jakikolwiek rekord DMARC, niezależnie od tego, czy ta wiadomość przeszła jego weryfikację. Gmail i Yahoo wymagają go od nadawców masowych.

Jeśli kontrola zakończy się niepowodzeniem: Opublikuj rekord. p=none wystarczy, aby spełnić wymaganie, i zapewni raporty, na których możesz pracować.

Kosztuje do 6 punktów ze 100 w naszej punktacji.

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

Czy wiadomość zawiera nagłówek anulowania subskrypcji, z którego może skorzystać klient poczty. Gmail i Yahoo wymagają go od nadawców masowych, a jego brak jest podstawą filtrowania niezależnie od wszystkich innych czynników. Reguła dotyczy wysyłek masowych. Wiadomość, która prosi odbiorcę o potwierdzenie subskrypcji lub informuje, że subskrypcja została aktywowana, jest wysyłana do jednej osoby w związku z wykonaną przez nią przed chwilą czynnością; CAN-SPAM określa ją jako wiadomość transakcyjną lub dotyczącą relacji i ani Gmail, ani Yahoo nie wymagają w niej nagłówka anulowania subskrypcji. Dlatego ten test najpierw odczytuje wiadomość. Potwierdzenie subskrypcji, wiadomość powitalna, wiadomość transakcyjna lub powiadomienie bez nagłówków listy nie otrzymuje punktów karnych, a raport podaje, za jaki typ uznano wiadomość. Wiadomość powitalna uzupełniona ofertami jest w praktyce pierwszym wydaniem wysyłki masowej; bez nagłówków listy test nie jest w stanie ich rozróżnić i nie nalicza punktów karnych na podstawie przypuszczenia. Jeśli wiadomość zawiera List-Unsubscribe lub List-Id, nadawca sam zadeklarował ją jako wiadomość z listy i test działa tak jak zawsze.

Jeśli kontrola zakończy się niepowodzeniem: Dodaj nagłówek List-Unsubscribe z identyfikatorem URI HTTPS. Każda platforma wysyłkowa może to zrobić.

Kosztuje do 10 punktów ze 100 w naszej punktacji i do 1 punktów z 10 w klasycznej punktacji.

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

Anulowanie subskrypcji jednym kliknięciem compliance.one_click_unsubscribe

Bardziej rygorystyczna forma: identyfikator URI HTTPS, nagłówek "List-Unsubscribe-Post" oraz jeden prawidłowy podpis DKIM obejmujący oba nagłówki. Muszą być spełnione wszystkie trzy warunki, w przeciwnym razie odbiorca nie wyświetli przycisku. Podobnie jak test List-Unsubscribe, dotyczy wysyłek masowych, a nie potwierdzenia ani wiadomości powitalnej.

Jeśli kontrola zakończy się niepowodzeniem: Najczęściej brakuje właściwego podpisu: platformy podpisują "List-Unsubscribe" i zapominają o "List-Unsubscribe-Post". Nazwy obu nagłówków muszą występować w tagu h= tego samego podpisu.

Kosztuje do 8 punktów ze 100 w naszej punktacji.

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

Zalecenia

Warto je wdrożyć, ale nigdy nie są punktowane. Nic w tej sekcji nie może kosztować punktów, co jest decyzją dotyczącą produktu egzekwowaną przez testy.

BIMI advisory.bimi

Czy domena publikuje rekord BIMI, który powoduje wyświetlanie logo obok Twoich wiadomości w niektórych klientach. Najpierw wymaga egzekwującej polityki DMARC oraz płatnego certyfikatu zweryfikowanego znaku.

Jeśli kontrola zakończy się niepowodzeniem: Warto to zrobić, gdy DMARC ma ustawienie quarantine lub reject, a wolumen uzasadnia koszt certyfikatu.

Zalecenie. Nic nie kosztuje.

BIMI — draft specification, not yet an RFC

Wiek i długość klucza DKIM advisory.dkim_key_rotation

Długość klucza podpisującego i czas jego używania. Z każdym rokiem krótkie klucze można taniej atakować offline.

Jeśli kontrola zakończy się niepowodzeniem: Przejdź na 2048 bitów i rotuj klucze zgodnie z harmonogramem. Opublikuj nowy selektor, przełącz podpisywanie na niego, a następnie wycofaj stary.

Zalecenie. Nic nie kosztuje.

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

Dostarczanie raportów DMARC advisory.dmarc_reporting

Czy adresy w rekordzie DMARC rzeczywiście będą cokolwiek otrzymywać. Jeśli adres raportów znajduje się poza Twoją domeną, RFC 9990 wymaga, aby ta domena najpierw opublikowała własne zezwolenie jako rekord TXT pod nazwą your-domain._report._dmarc.their-domain. Bez niego odbiorca odrzuca adres: bez odbicia, bez błędu, bez raportu. Jest to zwykła, a nie nietypowa konfiguracja, ponieważ adres zazwyczaj znajduje się u dostawcy monitoringu albo w Twojej domenie głównej, podczas gdy polityka znajduje się w subdomenie wysyłającej. Ta sama reguła obejmuje raporty o niepowodzeniach, przy czym RFC 9991 wskazuje tę samą procedurę dla znacznika ruf. Wyszukujemy te same rekordy, które sprawdzałby odbiorca, i pokazujemy nazwy, o które wysłaliśmy zapytania.

Jeśli kontrola zakończy się niepowodzeniem: Poproś administratora domeny docelowej o opublikowanie rekordu TXT zawierającego v=DMARC1 pod nazwą wskazaną w wyniku. Dostawcy monitoringu zwykle robią to za Ciebie po dodaniu domeny do ich konta, więc jeśli brakuje rekordu, domena prawdopodobnie nigdy nie została dodana po ich stronie. Jeśli zamiast tego raporty trafiają do Twojej własnej domeny, nie trzeba nic robić.

Zalecenie. Nic nie kosztuje.

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

Czy domena jest podpisana. SPF, DKIM i DMARC znajdują się w DNS, więc atakujący, który może fałszować odpowiedzi DNS, może sfałszować wszystkie trzy.

Jeśli kontrola zakończy się niepowodzeniem: Włącz DNSSEC u swojego rejestratora. Zwykle wymaga to użycia jednego przełącznika, a rejestrator zajmuje się resztą.

Zalecenie. Nic nie kosztuje.

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

Czy domena publikuje politykę nakazującą innym serwerom odrzucanie nieszyfrowanych wiadomości kierowanych do Ciebie. Chroni pocztę wysyłaną do Ciebie, a nie pocztę wysyłaną przez Ciebie.

Jeśli kontrola zakończy się niepowodzeniem: Opublikuj rekord TXT i plik polityki przez HTTPS (kilka godzin pracy, a zamyka to możliwość ataku polegającego na obniżeniu poziomu zabezpieczeń).

Zalecenie. Nic nie kosztuje.

RFC 8461 §3 — Policy Discovery

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

Długość ścieżki zwrotnej advisory.return_path_length

Jak długi jest adres do obsługi odbić. RFC 5321 zobowiązuje serwer odbierający do akceptowania 64 oktetów przed znakiem @ i w tej samej sekcji stwierdza, że żadna implementacja nie powinna narzucać limitu, którego może uniknąć. Mimo to wiele z nich narzuca taki limit, a wiadomość przekraczająca go jest odrzucana na etapie MAIL FROM, jeszcze przed wysłaniem treści. Platformy wysyłkowe napotykają ten problem, kodując odbiorcę w ścieżce zwrotnej, aby można było przypisać do niego odbicia, przez co długość zależy od tego, do kogo piszesz, a nie od Ciebie.

Jeśli kontrola zakończy się niepowodzeniem: Skróć stałą część dodawaną przez platformę na początku albo zmień domenę do obsługi odbić na krótszą. Jeśli nie możesz zmienić żadnej z nich, zagrożone są adresy Twoich najdłuższych subskrybentów, dlatego warto zmierzyć najdłuższy adres na swojej liście zamiast wartości średniej.

Zalecenie. Nic nie kosztuje.

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

Raportowanie TLS advisory.tls_rpt

Czy domena żąda raportów, gdy komuś nie uda się dostarczyć do niej wiadomości przez TLS. Działa w parze z MTA-STS: polityka bez raportowania nie pozwala stwierdzić, czy działa.

Jeśli kontrola zakończy się niepowodzeniem: Dodaj rekord TXT z adresem, który odbiera codzienne raporty.

Zalecenie. Nic nie kosztuje.

RFC 8460 §3 — Reporting Policy

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