Jak wysyłać wiadomości e-mail i unikać ich klasyfikowania jako spam?

82

To jest kanoniczne pytanie, w jaki sposób obsługiwać wiadomości e-mail wysyłane z serwera, które zostały zaklasyfikowane jako spam. Aby uzyskać dodatkowe informacje, pomocne mogą być te podobne pytania:

Czasami chcę wysyłać biuletyny do moich klientów. Problem polega na tym, że niektóre e-maile są wychwytywane jako spam. Głównie przez program Outlook na kliencie (nawet w moim własnym programie Outlook 2007).

Teraz chcę wiedzieć, co należy zrobić, aby utworzyć „dobre” e-maile. Wiem o wyszukiwaniu wstecznym itp., Ale (na przykład) co z rezygnacją z subskrypcji z unikalnym identyfikatorem? Czy to podnosi ocenę spamu?

kcode
źródło
Wykaz krok po kroku , jak również wytyczne dotyczące rozwiązywania problemów można znaleźć w dobrej odpowiedzi do podobnych pytanie o superuser.com .
MattBianco

Odpowiedzi:

82

Upewnij się, że e-maile nie wyglądają jak typowe wiadomości e-mail: nie wstawiaj tylko dużego obrazu; sprawdź, czy zestaw znaków jest ustawiony poprawnie; nie wstawiaj linków „Tylko adres IP”. Napisz swoją komunikację tak jak zwykły e-mail. Ułatw zrezygnowanie z subskrypcji lub rezygnację. W przeciwnym razie użytkownicy anulują subskrypcję, naciskając przycisk „spam”, co wpłynie na twoją reputację.

Od strony technicznej: jeśli możesz wybrać serwer SMTP, upewnij się, że jest to „czysty” serwer SMTP. Adresy IP spamujących serwerów SMTP są często umieszczane na czarnej liście innych dostawców. Jeśli nie znasz swoich serwerów SMTP, dobrą praktyką jest zapewnienie w aplikacji opcji konfiguracyjnych do kontrolowania wielkości partii i opóźnienia między partiami. Niektóre serwery pocztowe nie akceptują dużych partii wysyłania ani ciągłej aktywności.

Użyj metod uwierzytelniania wiadomości e-mail, takich jak SPF i klucze domeny, aby udowodnić, że wiadomości e-mail i nazwa domeny należą do siebie. Przyjemnym efektem ubocznym jest to, że pomagasz w zapobieganiu sfałszowaniu domeny e-mail. Również sprawdzić swój odwrotny DNS , aby upewnić się, że adres IP serwera pocztowego punktów do nazwy domeny, który służy do wysyłania poczty.

Upewnij się, że adres zwrotny twoich e-maili jest prawidłowym, istniejącym adresem. Użyj pełnej, prawdziwej nazwy adresata w polu Do, a nie tylko adresu e-mail (np. "John Doe" <[email protected]>) I monitoruj swoje konta nadużyć, takie jak naduż[email protected] i [email protected] .

splattne
źródło
I używaj wieloczęściowych / alternatywnych wersji wiadomości e-mail w formacie HTML, które zawierają tylko tekst. Oznacza to, że skaner spamu będzie miał więcej przydatnych rzeczy podczas klasyfikowania.
Mat.
22

Automatycznie anuluj subskrypcję adresatów wiadomości, których adresy e-mail odbijają się, i ustanów pętle informacji zwrotnej na temat skarg z głównymi dostawcami poczty i automatycznie anuluj subskrypcję odbiorców, którzy zgłaszają Twoją wiadomość jako spam / śmieci. Pomoże to w poprawie twojej reputacji i dostarczalności.


źródło
4
To jest bardzo ciekawe. Nie wiedziałem nic o tych pętlach zwrotnych. Czy wszyscy dostawcy oferują taki program?
kcode
1
Nie wszyscy dostawcy, nie. Ale większość głównych, w tym Yahoo i AOL i inne. Wszystkie znane mi pętle zwrotne dotyczące skarg wymagają, aby wiadomości były wysyłane z domeny uwierzytelnionej przez DKIM lub DomainKeys. Uważam, że niektóre wymagają SPF, ale rzadziej.
15

To pytanie wspomina, że ​​podstawy są na miejscu, ale ponieważ wskazujemy innym na to jako pytanie kanoniczne, chcę tylko mieć pewność, że omówimy nasze podstawy.

Te minimalne wymagania są obecnie niezbędne:

  1. Upewnij się, że poprawnie skonfigurowałeś DNS do przodu i do tyłu. Serwer pocztowy musi się zidentyfikować na giełdzie HELO / EHLO, nazwa ta powinna szukać adresu IP, z którego korzysta serwer. Podobnie odwrotne wyszukiwanie tego adresu IP powinno zwrócić nazwę.

  2. Upewnij się, że Twój serwer faktycznie wysyła nazwę hosta w tym uzgadnianiu. Twój serwer nie powinien wysyłać adresu IP.

  3. Upewnij się, że twój adres IP nie znajduje się na liście DNSRBL (czarne listy). Jeśli tak, załatw to.

  4. Sprawdź reputację swojego adresu IP dzięki bardziej popularnym usługom reputacji (SenderScore jest obecnie duży, ale z czasem może się nie utrzymać). Usługi te mają ogólnie wytyczne dotyczące poprawy Twojej reputacji, ale nie są niczym innym jak RBL.

  5. Nie fałszywych nagłówków, nie leżą w nagłówkach, i upewnij się, że w tym minimalne nagłówków w wiadomościach ( Datei Fromsą wymagane, nie powinno być Subject, Sender, Reply-To, i To/ Cc/ Bcc[jako zastosowanie]). Jest to jeden z moich największych artykułów dla zwierząt domowych z ważnymi biuletynami, które chcę otrzymywać, kończąc na śmieciach, ponieważ sfałszują one nagłówek programu Outlook Express, pomijają datę lub coś podobnego.

Opcjonalnie powinieneś rozważyć skonfigurowanie SPF, DKIM i DMARC. Pomagają one w dostarczaniu, ale nie są wymagane (nie przez zdecydowaną większość serwerów e-mail).

Chris S.
źródło
11

Niestety istnieje wiele różnych technik filtrowania, a niektórzy główni dostawcy poczty nie opublikują tego, czego używają i / lub jakie wagi są przypisywane różnym testom / filtrom, więc wiedza, jak się do tego dostać jest trudna. Zasadniczo spam spowodował, że dostawcy usług internetowych i użytkownicy znaleźli się w sytuacji, w której czasami utrudniają dostęp do takich legalnych wiadomości (zwłaszcza wiadomości masowych, takich jak biuletyn). Nie uważam już poczty e-mail jako niezawodnej w połowie drogi metody transportu.

Być trochę mniej negatywnym i bardziej pomocnym ... Ponieważ masz określone problemy z konkretnym klientem, program może ci powiedzieć pewne rzeczy. Nie wiem dokładnie o programie Outlook, ponieważ nie używam go nigdzie, ale wiele filtrów poczty wstrzykuje nagłówki do wiadomości, aby wyświetlić listę filtrów, które zostały użyte, jaki był wynik i jaka była waga tego filtru. Więc jeśli spojrzysz na pełne źródło wiadomości, które zostały przeniesione do niepotrzebnych folderów, możesz znaleźć przydatne wskazówki. Na przykład filtry oparte na SpamAssassin wstrzykują nagłówki o następującej formie:

X-Spam-Flag: YES
X-Spam-Score: 13.371
X-Spam-Level: *************
X-Spam-Status: Yes, score=13.371 tagged_above=-10 required=5.4
    tests=[BAYES_99=3.5, FB_GET_MEDS=0.803, RCVD_IN_SORBS_WEB=0.619,
    RCVD_IN_XBL=3.033, RDNS_NONE=0.1, URIBL_AB_SURBL=1.86,
    URIBL_BLACK=1.955, URIBL_JP_SURBL=1.501]

(ten przykład został wyciągnięty z prawdziwej wiadomości spamowej na moim stosie śmieci)

Nie jest to jednak jednoznaczne, ponieważ filtrowanie bayesowskie i inne metody wymagające szkolenia użytkowników są powszechne - więc to, co przepuszczają i upuszczają filtry, może znacznie różnić się od innych, nawet jeśli klient został skonfigurowany identycznie po wyjęciu z pudełka. Być może będziesz musiał rozważyć inne rynki zbytu dla twoich wiadomości (wiele osób próbuje do tego użyć protokołów sieci społecznościowych, z różnym powodzeniem).

David Spillett
źródło
9

Jak inni mówili, chcesz uniknąć „wyglądania” jak wiadomość spamowa podczas wysyłania wiadomości e-mail, ale niekoniecznie możesz powiedzieć, co sprawi, że będziesz wyglądać jak spam, ponieważ techniki są różne.

Jedną z rzeczy, które warto rozważyć, jest wysłanie wiadomości e-mail w formie zwykłego tekstu do każdego biuletynu, który faktycznie zawiera krótki opis / powitanie, a następnie „kliknij tutaj, aby wyświetlić nasz najnowszy biuletyn!” wiadomość; w ten sposób możesz przechowywać swoją wiadomość na serwerze internetowym, zmniejszasz rozmiar wiadomości e-mail (i ładujesz swój serwer pocztowy), a jako bonus możesz sprawdzić dzienniki na swoim serwerze internetowym, aby uzyskać informacje na temat liczby klientów faktycznie czyta wiadomości, a nie je usuwa.

Bart Silverstrim
źródło
Hmm Nigdy wcześniej nie widziałem, żeby spamer używał tej taktyki ...
Ernie,
Zwykle prosty tekst z legalnym linkiem lub dwoma (niewiele posypanymi swobodnie) ma tendencję do przechodzenia ... inaczej nie mogę wysłać e-mailem linków do siebie lub innych osób bez oznaczenia ich jako spam. To tak, jakby powiedzieć, że nigdy nie widziałeś, aby spamerzy wysyłali wiadomości błyskawiczne z „brudnymi słowami”, aby zachęcić ludzi do odpowiedzi. Robi to także legalny ruch. Kluczem nie jest być „zbyt spamowym” ... nazwa użytkownika taka jak bevans prawdopodobnie nie jest tak podejrzana jak „hottienakedchick69”, nawet jeśli treść jest taka sama, wiesz o co mi chodzi?
Bart Silverstrim
7

Szczegółowe rozwiązanie pozwalające uniknąć identyfikowania wiadomości e-mail jako spamu i / lub nie dotarcia do odbiorców

Przykładowa sytuacja: masz serwer z witryną PHP, example.comktóry musi wysyłać e-maile . Zauważasz, że twoje e-maile nie zawsze są dostarczane. (Duży problem, jeśli jesteś właścicielem sklepu, a klienci nie otrzymują wiadomości e-mail po zakupie!).

Jeśli wykonasz wszystkie poniższe kroki, powinno to rozwiązać 99,9% problemów. (Najpierw pomyślałem, że można zrobić tylko kilka z nich i na przykład pominąć DKIM, ale w końcu wszystkie z nich musiały rozwiązać wszystkie moje problemy).

  1. Po pierwsze, kto wysyła e-maile?

    Kiedy twój kod PHP wysyła e-maile, często dzieje się tak ze słynną funkcją PHP mail(...). Ale co ta funkcja robi pod maską? Uruchommy test.phpstronę zawierającą <?php echo ini_get('sendmail_path'); ?>. Dostaniesz na przykład: /usr/sbin/sendmail -t -i. Dobra wiadomość, teraz wiemy, który program naprawdę obsługuje wiadomości e-mail!
    Teraz podstępna informacja: nazwą sendmailmogą być różne programy . Nawet jeśli widzisz sendmailw poprzednim kroku, możesz mieć sendmail lub postfix czy exim lub qmail itd zainstalowany. Zróbmy dpkg -S /usr/sbin/sendmail. Odpowiedź brzmi postfix: /usr/sbin/sendmail: ok, oznacza to, że postfixzainstalowaliśmy .

  2. Przejrzyj plik dziennika, /var/mail/www-dataaby dowiedzieć się, które e-maile nie zostały poprawnie wysłane i dlaczego. Może to być przydatne w kolejnych krokach.

  3. Jak wspomniano na blogu Jeffa Atwooda , czas spojrzeć na odwrotne rekordy PTR. (Więcej szczegółów do dodania tutaj).

  4. Dodaj następujący wiersz w pliku konfiguracyjnym Postfiksa /etc/postfix/main.cf:

    inet_protocols=ipv4
    

    Następnie uruchom ponownie postfiks za pomocą service restart postfix. Dlaczego? Ponieważ miałem takie problemy, gdy adresatem jest Gmail:

    Nasz system wykrył, że ta wiadomość 550-5.7.1 nie spełnia wytycznych wysyłania IPv6 dotyczących rekordów PTR i uwierzytelnienia 550-5.7.1. Zapoznaj się z 550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error, aby uzyskać więcej informacji 550 5.7.1.

    Najprostszym rozwiązaniem było wtedy przełączyć postfixtylko IPv4, więc ten etap 4 (co może być konieczne dla ciebie?).

  5. Rekordy DNS SPF . Aby udowodnić, że możesz wysyłać wiadomości e-mail @example.com, możesz dodać rekord SPF do rekordów DNS domeny example.com. Gdzieś to znalazłem The DNS record type 99 (SPF) has been deprecated, więc zamiast tego używamy rekordu TXT. Dodajmy to jako rekord DNS TXT (patrz także uwaga 1) :

    v=spf1 a mx include:_spf.google.com include:sendgrid.net ~all
    

    Dlaczego to obejmuje? Ponieważ mój serwer nie będzie jedynym, który wysyła e-maile z @ example.com! Skonfigurowałem Gmaila do wysyłania poczty jako [email protected] ( patrz zrzut ekranu tutaj ), używając zaufanego dostawcy SMTP Sendgrid . Jeśli ich nie dodam include:, Gmail nie będzie mógł wysyłać wiadomości e-mail z @example.com.

  6. Podpis cyfrowy DKIM . Jak wspomniano tutaj , celem DKIM jest dopilnowanie, aby zawartość poczty nie została naruszona podczas transmisji. Oto proces instalacji w Ubuntu ( tutaj również przydatny przewodnik ):

    • apt-get install opendkim opendkim-tools

    • Utwórz klucze (możesz również wygenerować klucze i odpowiedni rekord DNS TXT za pomocą http://dkimcore.org/tools/ ):

      mkdir /etc/opendkim
      cd /etc/opendkim
      opendkim-genkey -t -s mail -d example.com
      
    • Umieśćmy to w /etc/opendkim.conf:

      Syslog                 yes
      Domain                 *
      KeyFile                /etc/opendkim/mail.private
      Selector               mail
      AutoRestart            yes
      Background             yes
      Canonicalization       relaxed/relaxed
      DNSTimeout             5
      Mode                   sv
      SubDomains             no
      

      to w /etc/default/opendkim:

      SOCKET="inet:8891@localhost" # Ubuntu default - listen on loopback on port 8891
      

      i na koniec dodaj to na końcu pliku konfiguracyjnego Postfiksa /etc/postfix/main.cf:

      # DKIM
      milter_default_action = accept
      milter_protocol = 2
      smtpd_milters = inet:localhost:8891
      non_smtpd_milters = inet:localhost:8891
      
    • Dodajmy teraz klucz publiczny (znaleziony w /etc/opendkim/mail.txt) do rekordów DNS domeny:

      mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=OqYHd...waPaQAX"
      

      Oto jak to wygląda z moim rejestratorem Namelynx:

    • Ostatni krok dla DKIM: zrestartuj usługi pocztowe za pomocą service restart opendkim ; service restart postfix.

  7. Sprawdź, czy wszystko działa. Najłatwiejszą metodą jest wysłanie wiadomości e-mail przez PHP na adres [email protected](to bardzo przydatne narzędzie jest udostępniane przez Port25 Solutions):

    $emailfrom = "Example <[email protected]>";
    $headers  = "MIME-Version: 1.0 \n";
    $headers .= "Content-Transfer-Encoding: 8bit \n";
    $headers .= "Content-type: text/plain; charset=utf-8\n";
    $headers .= "Reply-To: " . $emailfrom . "\n";
    $headers .= "From: " . $emailfrom . "\n";
    $headers .= "Bcc: [email protected]\n";
    mail("[email protected]", "Hello", "Hello!", $headers);
    

    Następnie zobacz odpowiedź tego narzędzia, powinno to wyglądać tak:

    ==========================================================
    Summary of Results
    ==========================================================
    SPF check:          pass
    DKIM check:         pass
    SpamAssassin check: ham
    

    Pomocny jest także serwis mail-tester.com .

  8. (Opcjonalnie) Wypróbuj postmaster.google.com. Użyłem go, ale nie pamiętam, czy to pomogło, czy nie.

  9. Jeśli nadal nie działa , rozwiązaniem może być outsourcing poczty e-mail za pomocą profesjonalnego rozwiązania, aby uniknąć dni i nocy (nieudanego) debugowania. Oto dobry artykuł na ten temat. Oto cytat: „Wysyłanie wiadomości e-mail z aplikacji może ***. W połowie przypadków wiadomości wysyłane z własnego serwera są po prostu zrzucane do folderu śmieci odbiorcy”. że niestety odkryłem, że to prawda, po tygodniach poprawiania.


Dodatkowe uwagi:

(1)

-all : Fail: All mail servers not listed in the SPF record are explicitly not authorized to send mail using the sender’s domain.
~all : Soft Fail: All mail servers not listed in the SPF record are not authorized to send mail using the sender’s domain, but the owner of the domain is unwilling to make a strong assertion to that effect.
?all : Neutral: The domain controller cannot or does not want to assert whether or not all mail servers not listed in the SPF record are authorized to send mail using the sender’s domain.
+all : Pass: All mail servers are authorized to send mail on behalf of the sender’s domain.
Basj
źródło
6

Moja firma internetowa miała problemy z e-mailami z potwierdzeniem zamówienia, które trafiały do ​​spamu lub nawet nie były dostarczane (odrzucane przez serwery poczty). Były to proste e-maile „oto podsumowanie twojego zamówienia” z jednym linkiem do domeny naszej witryny. W końcu kupiłem kilka kont Google Apps dla mojej firmy. Możesz skonfigurować jeden z nich, aby działał jako serwer SMTP. Posiadanie Google jako naszego nadawcy poczty zatrzymało wszystkie te problemy.

Jeśli chodzi o biuletyny e-mailowe, zdecydowanie skorzystaj z usługi, która obsługuje dla Ciebie opt-in / -out. Korzystanie z usług innych niż usługa do wysyłania poczty masowej prawdopodobnie spowoduje zbanowanie.

Chris K.
źródło
To obejście. Właściwym rozwiązaniem byłoby usunięcie wadliwego systemu i upewnienie się, że masz przynajmniej odpowiedni rekord SPF w DNS.
John Gardeniers
3
W rzeczywistości, jeśli usługodawca internetowy, na którym działa Twój serwer poczty, zostanie oznaczony jako czarny znacznik spamu, powodzenia. Byliśmy wtedy w Rackspace. Używanie Google jako SMTP pomogło, ponieważ Google upewnił się, że nie ma go na czarnej liście.
Chris K
2

W skrzynce odbiorczej poczty e-mail opublikowano nowy przewodnik

Najbardziej wszechstronny, jaki kiedykolwiek widziałem. Lista kontrolna z 43 różnymi punktami, które obejmują każdy kran, jak uniknąć oznaczenia jako spam. To jest stale aktualizowane.

Od konfiguracji DNS, konfiguracji uwierzytelnienia, konfiguracji monitorowania reputacji, zmniejszenia współczynnika odrzuceń, testowania treści wiadomości e-mail itp.

Kieruje się na relację ogona wszystkiego przez ZeroBounce.NET

https://www.zerobounce.net/guide-to-improve-inbox-and-delivery.html

Henz
źródło
W tej chwili ten post jest zasadniczo tylko linkiem. Aby upewnić się, że odpowiedź pozostanie przydatna, nawet jeśli link się zepsuje, edytuj ją, aby zawierała odpowiednie informacje.
anx