Frage Wie kann ich E-Mails senden und vermeiden, dass sie als Spam eingestuft werden?


Das ist ein kanonische Frage darüber, wie E-Mails, die von Ihrem Server gesendet werden, als Spam eingestuft werden. Für weitere Informationen können diese ähnlichen Fragen hilfreich sein:

Manchmal möchte ich Newsletter an meine Kunden senden. Das Problem ist, dass einige E-Mails als Spam-Nachrichten abgefangen werden. Meist von Outlook auf dem Client (auch in meinem eigenen Outlook 2007).

Jetzt möchte ich wissen, was getan werden sollte, um "gute" E-Mails zu erstellen. Ich weiß über Reverse Lookup etc., aber (zum Beispiel), was ist mit einem Abmelden Link mit einer eindeutigen ID? Erhöht das eine Spam-Bewertung?


72
2017-07-31 05:53


Ursprung


EIN Schritt-für-Schritt-Checkliste sowie Richtlinien zur Fehlerbehebung finden Sie in eine gute Antwort zu einem ähnliche Frage auf superuser.com. - MattBianco


Antworten:


Achten Sie darauf, dass Ihre E-Mails nicht wie typische Spam-E-Mails aussehen: Legen Sie nicht nur ein großes Bild ein; Überprüfe, ob der Zeichensatz korrekt eingestellt ist. Fügen Sie keine "Nur IP-Adresse" -Links ein. Schreiben Sie Ihre Kommunikation so, als würden Sie eine normale E-Mail schreiben. Machen Sie es sich wirklich einfach, sich abzumelden oder abzumelden. Andernfalls werden sich Ihre Nutzer durch Drücken der Schaltfläche "Spam" abmelden, was sich auf Ihren Ruf auswirkt.

Auf der technischen Seite: Wenn Sie Ihren SMTP-Server auswählen können, achten Sie darauf, dass es sich um einen "sauberen" SMTP-Server handelt. IP-Adressen von spammenden SMTP-Servern werden oft von anderen Anbietern auf die schwarze Liste gesetzt. Wenn Sie Ihre SMTP-Server nicht im Voraus kennen, empfiehlt es sich, in Ihrer Anwendung Konfigurationsoptionen zur Steuerung von Batch-Größen und Verzögerungen zwischen Batches bereitzustellen. Einige Mail-Server akzeptieren keine großen sendenden Stapel oder fortlaufende Aktivitäten.

Verwenden Sie E-Mail-Authentifizierungsmethoden wie z SPF, und Domänenschlüssel um zu beweisen, dass Ihre E-Mails und Ihr Domain-Name zusammengehören. Der nette Nebeneffekt ist, dass Sie verhindern, dass Ihre E-Mail-Domain gefälscht wird. Ebenfalls prüfen Ihre Reverse-DNS Stellen Sie sicher, dass die IP-Adresse Ihres Mailservers auf den Domänennamen verweist, den Sie zum Senden von E-Mails verwenden.

Stellen Sie sicher, dass die Antwortadresse Ihrer E-Mails eine gültige, vorhandene Adresse ist. Verwenden Sie den vollständigen, richtigen Namen des Empfängers im Feld An, nicht nur die E-Mail-Adresse (z. "John Doe" <john.doe@example.com> ) und überwachen Sie Ihre Missbrauchskonten, wie z abuse@example.com und postmaster@beispiel.de.


76
2017-07-31 07:15



Und verwenden Sie mehrteilige / alternative Versionen Ihrer HTML-E-Mail, die nur Text enthalten. Das bedeutet, dass der Spam-Scanner bei der Klassifizierung mehr nützliche Informationen enthält. - Matt


Kündigen Sie automatisch die Empfänger Ihrer Nachricht, deren E-Mail-Adressen abgewiesen werden, und erstellen Sie Beschwerde-Rückkopplungsschleifen mit den wichtigsten E-Mail-Anbietern und kündigen automatisch Empfänger, die Ihre Nachricht als Spam / Junk-E-Mail melden, ab. Dies wird wesentlich dazu beitragen, Ihren Ruf und Ihre Zustellbarkeit zu verbessern.


19
2017-07-31 13:23



Das ist sehr interessant. Ich wusste nichts über diese Rückkopplungsschleifen. Haben alle Anbieter ein solches Programm? - Uwe
Nicht alle Anbieter, nein. Aber die meisten der wichtigsten, einschließlich Yahoo und AOL und andere. Alle Beschwerde-Feedback-Schleifen, die mir bekannt sind, erfordern, dass Nachrichten von einer Domäne gesendet werden, die von DKIM oder DomainKeys authentifiziert wird. Ich glaube, dass einige auch SPF benötigen, aber weniger häufig.


Diese Frage erwähnt, dass die Grundlagen vorhanden sind, aber da wir andere darauf als eine kanonische Frage hinweisen, möchte ich nur sicher sein, dass wir unsere Grundlagen abdecken.

Diese Mindestanforderungen sind heutzutage im Wesentlichen erforderlich:

  1. Stellen Sie sicher, dass das Forward- und Reverse-DNS korrekt konfiguriert sind. Ein Mail-Server muss sich in einem HELO / EHLO-Austausch identifizieren, dieser Name sollte auf die IP-Adresse des Servers schauen. In ähnlicher Weise sollte das Reverse-Lookup dieser IP den Namen zurückgeben.

  2. Stellen Sie sicher, dass Ihr Server den Hostnamen in diesem Handshake sendet. Ihr Server sollte keine IP-Adresse senden.

  3. Stellen Sie sicher, dass sich Ihre IP-Adresse nicht in DNSRBLs (Blacklists) befindet. Wenn ja, kümmere dich darum.

  4. Überprüfen Sie die Reputation Ihrer IP mit den populäreren Reputationsdiensten (SenderScore ist momentan eine große, aber das könnte im Laufe der Zeit nicht bestehen). Diese Dienste haben in der Regel Richtlinien zur Verbesserung Ihrer Reputation, sind aber keine "Go / No-Go" wie RBLs.

  5. Kopiere keine Header, lüge nicht in den Headern und stelle sicher, dass du die minimalen Header in den Nachrichten einfügst (Date und From sind erforderlich, sollte es ein sein Subject, Sender, Reply-To, und To/Cc/Bcc [soweit zutreffend]). Dies ist einer meiner größten Lieblinge mit gültigen Newslettern, die ich als Junk erhalten möchte, weil sie einen Outlook Express-Header fälschen, das Datum weglassen oder etwas Ähnliches.

Optional sollten Sie SPF, DKIM und DMARC einrichten. Diese helfen bei der Zustellbarkeit, sind aber nicht erforderlich (nicht bei der überwiegenden Mehrheit der E-Mail-Server).


14
2018-03-25 21:03





Leider gibt es viele verschiedene Filtertechniken und einige große Mail-Anbieter werden nicht veröffentlichen, was sie verwenden und / oder welche Gewichte verschiedenen Tests / Filtern gegeben werden, daher ist es schwierig, zu wissen, wie man durchkommt. Grundsätzlich hat Spam ISPs und Nutzer in eine Situation gebracht, in der sie es manchmal schwierig machen, dass legitime Nachrichten (insbesondere Bulk-Nachrichten wie Ihr Newsletter) durchkommen. Ich halte E-Mail nicht länger für die halbwegs zuverlässige Transportmethode, die es einmal war.

Etwas weniger negativ und hilfreicher sein ... Da Sie bestimmte Probleme mit einem bestimmten Kunden haben, kann es Dinge geben, die Ihnen das Programm sagen kann. Ich kenne mich nicht besonders mit Outlook aus, da ich es nirgends selbst verwende, aber viele Mail-Filter fügen Header in Nachrichten ein, um aufzulisten, welche Filter verwendet wurden, was das Ergebnis war und wie die Gewichtung dieses Filters war. Wenn Sie sich also die vollständige Quelle der Nachrichten ansehen, die sie in Junk-Ordner verschoben haben, können Sie nützliche Hinweise finden. Zum Beispiel injizieren SpamAssassin-basierte Filter Header der folgenden Form:

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]

(Dieses Beispiel wurde aus einer echten Spam-Nachricht in meinem Müllhaufen gepflückt)

Dies ist jedoch nicht eindeutig, da bayesische Filterung und andere Methoden, die Benutzerschulungen beinhalten, üblich sind. Daher kann sich das Bestehen und Scheitern von Filtern merklich von denen anderer Personen unterscheiden, obwohl der Client gleich konfiguriert wurde. Sie müssen möglicherweise eine andere Quelle für Ihre Nachrichten in Betracht ziehen (viele Leute versuchen, Social-Networking-Protokolle dafür zu verwenden, mit unterschiedlichem Erfolg).


10
2017-07-31 07:24





Wie andere gesagt haben, möchten Sie nicht "wie eine Spam-Nachricht" aussehen, wenn Sie die E-Mail senden, aber Sie können nicht unbedingt sagen, was Sie aussehen oder nicht wie Spam aussehen lassen wird, weil Techniken variieren.

Eine Sache, die Sie in Betracht ziehen sollten, ist das Senden einer einfachen Text-E-Mail an Ihre Kunden für jeden Newsletter, der tatsächlich eine kurze Beschreibung / Begrüßung enthält, gefolgt von einem "Klicken Sie hier, um unseren neuesten Newsletter zu sehen!" Botschaft; auf diese Weise können Sie Ihre Nachricht auf einem Webserver hosten, Sie reduzieren die Größe von E-Mails (und laden Ihren Mailserver) und als Bonus können Sie die Protokolle auf Ihrem Webserver überprüfen, um Feedback darüber zu erhalten, wie viele Kunden gerade sind Lesen Sie Ihre Nachrichten oder löschen Sie sie.


8
2017-07-31 12:44



Hmm. Ich habe noch nie gesehen, dass ein Spammer diese Taktik benutzt, bevor ... - Ernie
Im Allgemeinen tendiert gerade Text mit einem legitimen Link oder zwei (nicht viel freizügig) dazu, durchzukommen ... sonst kann ich keine Links zu mir selbst oder anderen Leuten schicken, ohne dass sie als Spam markiert werden. Es ist, als hätten Sie nie gesehen, dass Spammer Instant Messaging mit "schmutzigen Worten" gesendet haben, um Leute dazu zu verleiten, zu antworten. Legit Traffic macht es auch. Der Schlüssel ist nicht zu "spammy" ... ein Benutzername wie Bevans ist wahrscheinlich nicht so verdächtig wie "hottienakedchick69", auch wenn der Inhalt der gleiche ist, weißt du was ich meine? - Bart Silverstrim


Mein Online-Geschäft hatte Probleme mit Bestellbestätigungs-E-Mails, die an Spam gingen oder gar nicht geliefert wurden (über Mail-Server gemieden). Diese waren einfache "Hier ist eine Zusammenfassung Ihrer Bestellung" E-Mails mit einem Link auf die Domain unserer Website. Am Ende kauften wir ein paar Google Apps-Konten für mein Unternehmen. Sie können eine davon als SMTP-Server einrichten. Google als unser E-Mail-Absender hat alle diese Probleme gestoppt.

Sofern es sich um E-Mail-Newsletter handelt, verwenden Sie unbedingt einen Dienst, der die Anmeldung / Abmeldung für Sie übernimmt. Wenn Sie eine andere Person als einen Dienst zum Senden von Massenmails verwenden, werden Sie wahrscheinlich gebannt.


4
2018-06-05 19:34



Das ist ein Workaround. Eine richtige Lösung wäre, Ihr fehlerhaftes System zu korrigieren und sicherzustellen, dass Sie zumindest einen korrekten SPF-Eintrag in DNS haben. - John Gardeniers
Wenn der Internetdienstanbieter, auf dem sich Ihr Mailserver befindet, als Spam markiert wird, dann haben Sie Glück. Wir waren zu der Zeit auf Rackspace. Die Verwendung von Google als SMTP half, da Google sicherstellte, dass es nicht in die schwarze Liste aufgenommen wurde. - Chris K


Detaillierte Lösung, um zu verhindern, dass E-Mails als Spam erkannt werden und / oder nicht zu Empfängern gelangen

Beispielsituation: Sie haben einen Server, auf dem eine PHP-Website läuft example.com das muss E-Mails senden. Und Sie bemerken, dass Ihre E-Mails nicht immer zugestellt werden. (Großes Problem, wenn Sie ein Ladenbesitzer sind und die Kunden die E-Mails nach einem Kauf nicht erhalten!).

Wenn Sie alle folgenden Schritte befolgen, ist es sollte lösen 99,9% der Probleme; In meinem Fall hat es funktioniert. (Ich dachte zuerst, dass es möglich ist, nur ein paar von ihnen zu machen und DKIM zum Beispiel zu überspringen, aber schließlich mussten alle von ihnen alle Probleme lösen, die ich hatte).

  1. Vor allem, wer sendet E-Mails?

    Wenn Ihr PHP-Code E-Mails sendet, geschieht dies oft mit der berühmten PHP-Funktion mail(...). Aber was macht diese Funktion unter der Haube? Lass uns laufen test.php Seite enthält <?php echo ini_get('sendmail_path'); ?>. Sie erhalten zum Beispiel: /usr/sbin/sendmail -t -i. Gute Neuigkeiten, jetzt wissen wir welches Programm wirklich behandelt die E-Mails!
    Jetzt eine knifflige Info: der Name sendmail kann sein verschiedene Programme. Selbst wenn du es siehst sendmail im vorherigen Schritt haben Sie vielleicht Sendmail oder Postfix oder Eximoder qmail, usw. installiert. Lass es uns tun dpkg -S /usr/sbin/sendmail. Die Antwort ist postfix: /usr/sbin/sendmailOk, das bedeutet wir haben postfix Eingerichtet.

  2. Suchen Sie in der Protokolldatei /var/mail/www-data um zu wissen, welche E-Mails nicht korrekt gesendet wurden und warum. Dies könnte für die nächsten Schritte nützlich sein.

  3. Wie bereits erwähnt Jeff Atwoods Blog, es ist Zeit, sich umgekehrte PTR-Datensätze anzusehen. (Weitere Details werden hier hinzugefügt).

  4. Fügen Sie die folgende Zeile in der Postfix-Konfigurationsdatei hinzu /etc/postfix/main.cf Datei:

    inet_protocols=ipv4
    

    Starten Sie anschließend Postfix mit service restart postfix. Warum? Weil ich Probleme wie diese hatte, wenn der Empfänger gmail ist:

    Unser System hat festgestellt, dass diese Nachricht 550-5.7.1 nicht den IPv6-Versandrichtlinien für PTR-Datensätze und 550-5.7.1-Authentifizierung entspricht. Bitte überprüfen Sie 550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error für mehr 550 5.7.1 Informationen.

    Das einfachste Lösung war dann zu wechseln postfix nur zu ipv4, also dieser Schritt 4 (was könnte für Sie unnötig sein?).

  5. SPF-DNS-Einträge. Um zu beweisen, dass Sie E-Mails versenden dürfen @example.comkönnen Sie einen SPF-Eintrag in den DNS-Einträgen der Domäne hinzufügen example.com. Ich habe das irgendwo gefunden The DNS record type 99 (SPF) has been deprecated, also verwenden wir stattdessen einen TXT-Datensatz. Fügen wir das als TXT-DNS-Eintrag hinzu (siehe auch Anmerkung 1):

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

    Warum diese beinhaltet? Weil mein Server nicht der einzige sein wird, der E-Mails von @ example.com sendet! Ich habe Google Mail konfiguriert Mail senden als contact@beispiel.com (siehe Screenshot hier), unter Verwendung des vertrauenswürdigen SMTP-Providers Sendgrid. Wenn ich diese nicht hinzufüge include:, Google Mail darf keine E-Mails senden @example.com.

  6. DKIM Digitale Unterschrift. Wie erwähnt HierZiel von DKIM ist es, sicherzustellen, dass der Inhalt von E-Mails während der Übertragung nicht manipuliert wurde. Hier ist der Installationsvorgang in Ubuntu (nützlicher Leitfaden) Hier auch):

    • apt-get install opendkim opendkim-tools

    • Erstellen Sie die Schlüssel (Sie können auch Schlüssel und den entsprechenden DNS-TXT-Datensatz mit generieren http://dkimcore.org/tools/):

      mkdir /etc/opendkim
      cd /etc/opendkim
      opendkim-genkey -t -s mail -d example.com
      
    • Lass es uns rein /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
      

      das in /etc/default/opendkim:

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

      und fügen Sie das schließlich am Ende der Postfix-Konfigurationsdatei hinzu /etc/postfix/main.cf:

      # DKIM
      milter_default_action = accept
      milter_protocol = 2
      smtpd_milters = inet:localhost:8891
      non_smtpd_milters = inet:localhost:8891
      
    • Jetzt fügen wir den öffentlichen Schlüssel hinzu (gefunden in /etc/opendkim/mail.txt) zu den DNS-Datensätzen Ihrer Domain:

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

      So sieht es bei meinem Registrar Namelynx aus:

    • Letzter Schritt für DKIM: Starten Sie die Mail-Dienste mit service restart opendkim ; service restart postfix.

  7. Testen Sie, ob alles funktioniert. Am einfachsten ist es, eine E-Mail über PHP an zu senden auth-results@verifier.port25.com (Dieses sehr nützliche Tool wird von Port25 Solutions zur Verfügung gestellt):

    $emailfrom = "Example <contact@example.com>";
    $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: example@gmail.com\n";
    mail("check-auth@verifier.port25.com", "Hello", "Hello!", $headers);
    

    Dann sehen Sie sich die Antwort dieses Tools an, es sollte so aussehen:

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

    Der Service mail-tester.com ist auch nützlich.

  8. (Optional) Versuchen Sie postmaster.google.com. Ich habe es benutzt, aber ich weiß nicht mehr, ob es geholfen hat oder nicht.

  9. Wenn es immer noch nicht funktioniertEine Lösung könnte darin bestehen, E-Mails mit einer professionellen Lösung auszulagern, um Tage und Nächte des (erfolglosen) Debuggens zu vermeiden. Hier ist ein guter Artikel darüber. Hier ist ein Zitat: "Das Senden von E-Mails von Ihrer App kann s ***. Die Hälfte der Zeit werden Nachrichten, die von Ihrem eigenen Server gesendet werden, einfach in den Junk-Ordner des Empfängers verschoben." das habe ich leider nach Wochen der Feinabstimmung als wahr erkannt.


Zusätzliche Bemerkungen:

(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.

3
2017-09-01 10:21





Es gibt einen neuen Leitfaden, der im E-Mail-Posteingang veröffentlicht wurde

Das umfassendste, was ich jemals gesehen habe. Eine Checkliste von 43 verschiedenen Punkten, die jeden Hahn abdecken, um zu vermeiden, als Spam markiert zu werden. Das wird ständig aktualisiert.

Von der Einrichtung von DNS, Konfigurieren der Authentifizierung, Einrichten der Reputationsüberwachung, Reduzieren der Absprungrate, Testen Ihrer E-Mail-Inhalte usw.

Heads to Tails Berichterstattung über alles von ZeroBounce.NET

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


2
2018-03-27 02:16