Email Spam Tester

Home › Integracje › Poradniki › SendGrid

Poradnik · bez potrzeby łączenia

Testowanie wiadomości SendGrid

SendGrid to w praktyce dwa systemy wysyłające dostępne z jednego konta: ekrany Marketing Campaigns i Email API. Dodają do wiadomości różne nagłówki, dlatego testuje się je nieco inaczej.

Poradnik · SendGrid

Przetestuj wiadomość e-mail z SendGrid

Jeden adres na jedną wiadomość e-mail, ważny przez godzinę. Bez konta i klucza API.

Uzyskaj adres testowy

Krok 1

Uwierzytelnij domenę

Uwierzytelnianie domeny: rekord CNAME w em[0000], dwa rekordy DKIM CNAME i rekord DMARC TXT.

Krok 2

Wyślij jedną prawdziwą wiadomość e-mail na adres testowy

Single Send do listy z jednym kontaktem albo jedno wywołanie curl do /v3/mail/send.

Krok 3

Przeczytaj raport

Sprawdź "via sendgrid.net", wiersze wyrównania i nagłówki rezygnacji z subskrypcji.

Newsletter utworzony w Single Sends i wiadomość do resetowania hasła wysłana przez /v3/mail/send mogą pochodzić z tego samego konta SendGrid, a mimo to dotrzeć jako zupełnie różne wiadomości e-mail, co ma znaczenie w teście spamu. Marketing Campaigns zawsze próbuje dodać nagłówki rezygnacji z subskrypcji, natomiast API dodaje je tylko wtedy, gdy tego zażądasz. Zanim cokolwiek wyślesz, zdecyduj, który z tych dwóch sposobów testujesz.

W obu przypadkach odbiór wygląda tak samo. Email Spam Tester udostępnia ci tymczasowy adres bez konieczności zakładania konta. Liczy się tylko pierwsza wiadomość, która dotrze w ciągu godziny. Otrzymasz dla niej raport obejmujący uwierzytelnianie, wyniki SpamAssassin i Rspamd, treść, reguły dla nadawców masowych określone przez Gmail i Yahoo oraz 21 list blokujących sprawdzonych przy użyciu twojego adresu IP nadawcy.

Single Sends: przycisk testowy i prefiks

Wbudowany test znajdziesz w Marketing > Single Sends. Otwórz Single Send, znajdź Test Your Email, wpisz adres testowy i kliknij Send Test Message. SendGrid wymaga nadawcy i tematu, zanim pozwoli wykonać test. Jeśli temat zawiera Handlebars, musisz też uzupełnić Test Data. Podczas wysyłania SendGrid dodaje Test - na początku tematu.

Aby przeprowadzić właściwy test, wyślij Single Send do listy. Single Sends są wysyłane do list lub segmentów, utwórz więc listę, której jedynym kontaktem będzie adres testowy, i wybierz ją w sekcji Recipients. Wtedy nagłówki, link rezygnacji z subskrypcji i śledzone linki będą takie same jak w wiadomości otrzymanej przez subskrybenta. Jeśli wykonałeś też test skrzynki odbiorczej, możesz dodać do tej listy adresy skrzynek u poszczególnych dostawców.

API i SMTP: jedno polecenie curl

Skrócony przykład z przewodnika SendGrid dla początkujących, z adresem testowym jako odbiorcą:

curl --request POST \
  --url https://api.sendgrid.com/v3/mail/send \
  --header 'Authorization: Bearer <<YOUR_API_KEY>>' \
  --header 'Content-Type: application/json' \
  --data '{"personalizations":[{"to":[{"email":"test-xxxxxxxxxxxxxxxxxxxx@t.email-spam-tester.com"}],"subject":"Hello, World!"}],"content":[{"type":"text/plain","value":"Heya!"}],"from":{"email":"you@yourdomain.com","name":"Your Name"}}'

Gdy test skrzynek odbiorczych jest włączony, adresy skrzynek u dostawców trafiają do tej samej tablicy to, a znacznik do pola subject. Dzięki temu jedno żądanie pokaże też, do którego folderu Gmail, Outlook, Yahoo i inni dostawcy skierowali wiadomość.

Wstaw własny adres testowy oraz adres nadawcy zweryfikowany przez SendGrid za pomocą weryfikacji pojedynczego nadawcy lub uwierzytelniania domeny. Jeszcze lepiej wyślij wiadomość, którą rzeczywiście wysyła twoja aplikacja, wraz z jej prawdziwym HTML, ponieważ testy treści ocenią zawartość wiadomości.

Jeśli twoja aplikacja korzysta z SMTP, zmienia się tylko sposób przesyłania. Host to smtp.sendgrid.net, nazwa użytkownika to dosłownie ciąg apikey (nie twój klucz), a SSL działa na porcie 465.

Dostępny jest też endpoint do wysyłania testowego, POST /v3/marketing/test/send_email. Przyjmuje maksymalnie 10 adresów, ale działa tylko z Dynamic Transactional Templates, dlatego w przypadku większości wiadomości wysyłanych przez API zwykłe wywołanie Mail Send opisane powyżej jest miarodajnym testem.

Nagłówki rezygnacji z subskrypcji zależą od wybranej ścieżki

Marketing Campaigns zawsze próbuje dodać nagłówki List-Unsubscribe. Wiadomości wysyłane przez API lub SMTP otrzymują je tylko wtedy, gdy opcja Subscription Tracking jest włączona w sekcji Settings > Tracking. W takim przypadku SendGrid wstawia List-Unsubscribe z linkiem HTTPS oraz List-Unsubscribe-Post: List-Unsubscribe=One-Click.

Bez włączonej opcji Subscription Tracking musisz samodzielnie dodać nagłówki do żądania:

"headers": {
  "List-Unsubscribe-Post": "List-Unsubscribe=One-Click",
  "List-Unsubscribe": "<mailto:unsubscribe@yourdomain.com>, <https://yourdomain.com/unsubscribe>"
}

SendGrid wymaga zarówno części mailto, jak i https, oraz ostrzega przed wypisywaniem kogokolwiek z subskrypcji po zwykłym żądaniu GET do tego linku. Zachowaj ostrożność podczas kopiowania przykładów z artykułu pomocy SendGrid dotyczącego tych nagłówków. W drugim przykładzie List-Unsubscribe-Post ma wartość zawierającą adresy URL, co jest błędem. Wartością zawsze jest List-Unsubscribe=One-Click. Pozostałe informacje znajdziesz na naszej stronie naprawy List-Unsubscribe.

Jeśli wiadomość służy do resetowania hasła lub jest potwierdzeniem zakupu i nie zawiera nagłówków listy, raport oznacza grupę reguł dla nadawców masowych jako pominiętą, zamiast zgłaszać błąd. Newsletter wysłany przez API nie otrzymuje takiego wyjątku.

Odczytywanie wyników uwierzytelniania

Na koncie bez uwierzytelniania domeny odbiorcy widzą „via sendgrid.net” po adresie w polu From, a dokumentacja SendGrid podaje, że uwierzytelnianie domeny usuwa ten dopisek. Raport pokazuje więcej niż sam dopisek. Sprawdź wiersze zgodności DKIM i SPF. Jeśli podpis lub Return-Path należy do domeny SendGrid zamiast do twojej, DMARC nie może przejść dla adresu w polu From, a plan powinien wskazać uwierzytelnianie domeny. Wysyłanie z adresu gmail.com lub yahoo.com jest jeszcze gorsze. Strona SendGrid dotycząca DMARC podaje, że zarówno SPF, jak i DKIM kończą się wtedy niepowodzeniem, a sama konsola ostrzega, że takie wiadomości mogą nie przejść kontroli DMARC.

Uwierzytelnianie domeny znajdziesz w Settings > Sender Authentication. Przy włączonej automatycznej ochronie, która jest ustawieniem domyślnym, SendGrid udostępnia cztery rekordy:

  • CNAME w em[0000], który obsługuje SPF i staje się twoim Return-Path;
  • rekordy CNAME w s1._domainkey i s2._domainkey dla DKIM;
  • rekord TXT w _dmarc z wartością v=DMARC1; p=none;.

Przykładowe wartości. Skopiuj rzeczywiste wartości ze swojego konta.

NazwaTypWartośćZastosowanieKopiuj
Automatyczna ochrona włączona (domyślnie)
em[0000]CNAMEWartość docelowa z twojego kontaSPF i Return-Path.
s1._domainkeyCNAMEWartość docelowa z twojego kontaDKIM.
s2._domainkeyCNAMEWartość docelowa z twojego kontaDKIM, drugi selektor.
_dmarcTXTv=DMARC1; p=none;DMARC.
Automatyczna ochrona wyłączona
em[0000]MXHost z twojego kontaReturn-Path.
em[0000]TXTv=spf1 include:sendgrid.net ~allSPF, którym zarządzasz samodzielnie.
m1._domainkeyTXTKlucz z twojego kontaDKIM.

Przy wyłączonej automatycznej ochronie otrzymujesz rekord MX i rekord SPF TXT (v=spf1 include:sendgrid.net ~all) w em[0000] oraz rekord DKIM TXT w m1._domainkey. Rekordem SPF zarządzasz wtedy samodzielnie. Jeśli twój dostawca DNS odrzuca nazwy CNAME zawierające _, jest to jedyna opcja. Jeśli inna usługa używa już selektora s, SendGrid pozwala wybrać własny. Sprawdź wynik za pomocą narzędzia do sprawdzania DKIM (selektor s1) i narzędzia do sprawdzania SPF, które liczy również zapytania DNS, jeśli twój rekord SPF robi się przeładowany.

Śledzenie kliknięć powoduje przepisanie każdego linku. Jeśli tekst linku sam jest adresem URL, widoczny adres przestaje być zgodny z rzeczywistym celem, a kontrola niezgodności linków w raporcie oznaczy go jako problem. Strona SendGrid dotycząca dostarczalności wskazuje ten sam problem. Używaj słów jako tekstu linku albo skonfiguruj branding linków, aby śledzone linki korzystały z twojej domeny, która musi być zgodna z domeną w polu From.

Plany Trial i Essentials wysyłają wiadomości ze współdzielonych pul adresów IP. SendGrid zaznacza, że przypisana pula może zmienić się bez powiadomienia, jeśli zmieni się twoja reputacja, dlatego obecność jednego z tych adresów na liście blokującej dotyczy wszystkich użytkowników tej puli. Narzędzie do sprawdzania list blokujących pozwala później ponownie sprawdzić ten adres IP. Odwrotny DNS można skonfigurować tylko dla dedykowanego adresu IP, dostępnego w planach Pro Email API i Advanced Marketing Campaigns.

Pytania

Dlaczego moje wiadomości e-mail są oznaczone jako „via sendgrid.net”?

SendGrid nie uwierzytelnił jeszcze twojej domeny wysyłającej. Skonfiguruj uwierzytelnianie domeny w Settings > Sender Authentication. Zgodnie z dokumentacją SendGrid oznaczenie zniknie.

Raport wskazuje brak List-Unsubscribe, ale używam SendGrid. Dlaczego?

Prawdopodobnie wysyłasz przez API lub SMTP z wyłączoną funkcją Subscription Tracking. Włącz ją w Settings > Tracking albo samodzielnie dodaj oba nagłówki w obiekcie headers.

Czy mogę użyć funkcji „Send Test Message” w SendGrid?

Tak, wiadomość dotrze na adres testowy. Pamiętaj tylko, że temat będzie poprzedzony ciągiem Test - . Jeśli chcesz sprawdzić nagłówki dokładnie takie, jakie otrzymują subskrybenci, lepiej użyć funkcji Single Send z listą zawierającą jeden kontakt.

Czy mogę użyć testowego endpointu API zamiast Mail Send?

Tylko w przypadku Dynamic Transactional Templates, ponieważ /v3/marketing/test/send_email akceptuje wyłącznie takie szablony. Obsługuje do 10 adresów. Wszystkie pozostałe wiadomości są wysyłane przez /v3/mail/send.

Który selektor mam wpisać w narzędziu do sprawdzania DKIM?

Jeśli automatyczne zabezpieczenia są włączone, sprawdź s1 i s2. Jeśli są wyłączone, selektorem jest m1. Jeśli podczas konfiguracji wybrałeś niestandardowy selektor, użyj go zamiast tych wartości.

Poradniki dla innych platform

Wszystkie integracje i poradniki →

Przetestuj wiadomość e-mail teraz

Jeden adres na jedną wiadomość e-mail, ważny przez godzinę. Bez konta. Raport aktualizuje się automatycznie w miarę kończenia testów.

Uzyskaj adres testowy