Wie stellen wir die E-Mail-Zustellung für unsere App sicher?

Wie stellen wir die E-Mail-Zustellung für unsere App sicher?

Wir haben eine Rails-App, die für Support- und Hilfetickets verwendet wird.

Es sendet Kunden eine Bestätigungs-E-Mail, wenn sie eine Anfrage senden. Es sendet auch eine E-Mail, wenn wir auf ihre Anfrage antworten. Es empfängt keine E-Mails.

In der letzten Woche haben über 25 % unserer Kunden keine Antworten mehr erhalten. Sie denken, wir würden nicht auf ihr Ticket antworten (obwohl wir das tatsächlich tun).

Ich habe einen Test mit meinem @yahoo.com-Konto durchgeführt und Folgendes in der Datei mail.log gefunden:

Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: host b.mx.mail.yahoo.com[66.196.97.250] said: 451 Message temporarily deferred - [140] (in reply to end of DATA command)
Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: to=<[email protected]>, relay=d.mx.mail.yahoo.com[68.142.202.247]:25, delay=0.73, delays=0.02/0.02/0.64/0.05, dsn=4.0.$

Bei anderen Nicht-Yahoo-Adressen ist dieses Problem ebenfalls aufgetreten.

Die Rails-App läuft auf Ubuntu und wir senden über:

ActionMailer::Base.delivery_method = :sendmail

Ich habe sichergestellt, dass der Server kein offenes Relay ist.

Was kann ich sonst noch tun, um sicherzustellen, dass die meisten unserer E-Mails durchkommen?

Antwort1

Diese Meldung hat oft mit Greylisting zu tun (insbesondere bei Yahoo, die das anscheinend irgendwann bei jedem machen). Der Mailserver schiebt Ihre erste Mail vorübergehend zurück, ein legitimer E-Mail-Server sieht diese Meldung, wartet eine Weile und versucht es dann erneut. Server, die Spam versenden, sind oft so eingestellt, dass sie einfach Massenmails versenden und es dann vergessen, sodass sie es nie wieder versuchen und der Spam gelöscht wird.

Um sicherzustellen, dass Sie durch die Greylist kommen, stellen Sie sicher, dass Ihr Mailserver so eingestellt ist, dass er es nach einer Verzögerung erneut versucht, und geben Sie ihm ein angemessenes Zeitfenster. Normalerweise reichen 10 bis 20 Minuten aus.

Antwort2

Es ist nicht völlig ungewöhnlich, von einem anderen Mailserver einen Tempfail zu erhalten. Sie sollten damit rechnen, dass dies von Zeit zu Zeit passiert.

Ich kann mir vorstellen, dass die meisten E-Mail-Anbieter (Haftungsausschluss: ich arbeite nur für EINEN) bei Absendern mit „schlechtem Ruf“ häufiger Fehler machen. Wir tun dies, um Ressourcen selektiv für saubere(re) E-Mails zu priorisieren. Wenn Ihr Server es geschafft hat, seiner IP-Adresse einen schlechten Ruf zu verleihen, bedeutet dies wahrscheinlich, dass Nachrichten entweder von Ihrer Anwendung oder von etwas anderem von derselben IP-Adresse als Spam klassifiziert werden.

Sie sollten UNBEDINGT Ihre Mail-Warteschlangen überwachen. Möglicherweise sollten Sie einzelne Zustellungen überprüfen, damit Sie sie verfolgen können.

Wenn Sie eine große Anzahl von Nachrichten in der Warteschlange zur Zustellung sehen, deutet das auf einen Fehler irgendeiner Art hin, entweder auf dem Mailserver des Empfängers oder darauf, dass Ihre E-Mails auf irgendeine Weise auf eine schwarze Liste gesetzt bzw. herabgestuft werden.

Wie Sie diese Dinge genau tun, hängt von der Anwendung ab.

In diesem speziellen Fall sollten Sie sich an den Support von Yahoo wenden, vorausgesetzt, Sie sind sich sicher, dass Sie ihnen keinen Spam senden (und das tut auch niemand sonst mit derselben IP-Adresse).

Antwort3

Sie scheinen hier zwei Probleme zu haben:

  1. Was ist derzeit mit Ihrem Mailsystem los?
  2. So stellen Sie sicher, dass das Problem in Zukunft nicht mehr auftritt

In Bezug auf Nr. 1 würde ich die folgenden Prüfungen durchführen:

  1. Ich würde Ihren Server so einrichten, dass er E-Mails empfängt. Systeme, die keine Bounces empfangen können und scheinbar nur Broadcasts senden, werden häufig als Spam gekennzeichnet.
  2. Überprüfen Sie Ihre MX-Einträge und prüfen Sie auch, ob Sie auf einer Blacklist stehen -mxtoolbox.com
  3. Überprüfen Sie Ihre RDNS-Einträge unterwww.dnscolos.com.
  4. Ich würde DomainKeys zu Ihrem Mailserver hinzufügen.
  5. Ich empfehle, einen SPF-Eintrag HINZUFÜGEN. Dies kann Ihren Spam-Score senken und verhindern, dass Spam-Hosts vorgeben, E-Mails von Ihrer Domain zu senden.
  6. Sende eine Email an[email geschützt]. Sie antworten mit einem Bericht mit verschiedenen Spam-Prüfungen.

Bezüglich Nr. 2 würde ich vorschlagen, ein transparentes GIF oder ein speziell gekennzeichnetes Logo in Ihre E-Mail einzufügen, das Ihren Server „anruft“. Ja, das bedeutet, dass Sie HTML-E-Mails senden müssen, und ja, einige Kunden blockieren standardmäßig das Abrufen von Bildern aus E-Mails. Sie werden jedoch schnell Ihre normalen Antwortraten sehen und feststellen können, ob diese gesunken sind. Wenn Sie wertvolle Kunden haben und feststellen, dass diese Ihre Antwort möglicherweise nicht erhalten haben, können Sie sie proaktiv anrufen.

Antwort4

Sie sollten außerdem sicherstellen, dass Ihr Mailserver sich korrekt identifiziert (als mail.yourapp.com oder was auch immer) und dass ein PTR-Eintrag existiert, der diese IP mit diesem Namen verknüpft.

Darüber hinaus können Sie einen SPF-Eintrag hinzufügen, der es dieser IP/diesem Server erlaubt, E-Mails für Ihre Domäne zu senden, sodass diese zumindest auch einen SPF:Pass erhält.

verwandte Informationen