2009-08-06 8 views
1

RFC1893 behauptet, dass Status-Codes in dem Format unten kommen Sie können mehr lesen here.Wie wird der SMTP-Nachrichtenstatuscode (DSN) korrekt analysiert?

Unser Bounce-Management-System hat es jedoch schwer, den Fehlerstatuscode von Bounce-Nachrichten zu analysieren. Wir können die rohe Nachricht erhalten, aber abhängig vom E-Mail-Server wird der Code an verschiedenen Stellen ankommen. Gibt es eine Regel zum Analysieren dieser Art von Nachrichten, um bessere Ergebnisse zu erhalten? Wir suchen nicht die 100% Lösung, sondern mindestens 80%.

Dieses Dokument definiert eine neue Gruppe von Statuscodes, um die Bedingungen des Mailsystems zu melden. Diese Statuscodes sind für Medien und sprachenunabhängige Statusberichte vorgesehen. Sie sind nicht für die systemspezifische Diagnose vorgesehen.

Die Syntax des neuen Statuscodes wird wie folgt definiert:

 status-code = class "." subject "." detail 
     class = "2"/"4"/"5" 
     subject = 1*3digit 
     detail = 1*3digit 

White-Leerzeichen und Kommentare nicht innerhalb einer Zustands-
Code erlaubt sind. Jeder numerische Subcode innerhalb des Statuscodes MUSS
ausgedrückt werden, ohne führende Nullstellen.

Das Zitat oben vom RFC sagt eine Sache, aber dann unter dem Text von einem führenden Werkzeug auf dem Bounce-Management sagt etwas anderes, wo ich eine gute Quelle für Standard-Statuscodes erhalten kann:

Return Code Beschreibung
0 UNDETERMINED - (. dh Empfänger Reply)
10 Hardbounce - (. dh Benutzer unbekannt)
20 SOFT BOUNCE - Allgemeine
21 SOFT BOUNCE - DNS-Fehler
22 SOFT BOUNCE - Mailbox Voll 23 SOFT BOUNCE - Nachricht zu groß
30 BOUNCE - KEINE E-MAIL-ADRESSE. SEHR SELTEN!
40 GENERAL BOUNCE
50 MAIL BLOCK - Allgemeine
51 BLOCK MAIL - Bekannte Spammer
52 MAIL BLOCK - Spam erkannt
53 MAIL BLOCK - Anhang Erkannt
54 BLOCK MAIL - Relay Denied
60 AUTO REPLY - (dh. Out Of Office)
70 VORÜBERGEHENDER BOUNCE
80 SUBSCRIBE Anfrage
90 AUSTRAGEN/REMOVE anfordern
100 Challenge-Response

+0

Der Statuscode des "führenden Tools" ist ein eigener Code für das "Newsletter" -Managementsystem. DSN sagt nichts über Abonnements oder Spam. Sehen Sie sich https://tools.ietf.org/html/rfc3463 – MattBianco

Antwort

2

Ich bin mir nicht sicher, dass es eine vollständige Antwort ist, aber this algorithm for detecting bounces könnte nützlich sein.

+0

Dies ist sehr hilfreich Steven. Haben Sie dieses Projekt für irgendeines Ihrer Entwicklungsprojekte verwendet? – Geo

+0

Kann nicht sagen, dass ich habe, aber es sah aus wie es das gleiche Problem löst, mit dem du es zu tun hast. Ich kenne Ihre Entwicklungsumgebung nicht, daher kann ich auch nicht sagen, ob Sie das Projekt in der jetzigen Form verwenden oder den regexp-Algorithmus an Ihre Bedürfnisse anpassen sollten. Aber jedes Arbeitsbeispiel muss besser sein als trockene RFCs. –

+0

Ihr Link ist tot. –