Kann dieser SMTP-Fehler beim Entwickler liegen?

Kann dieser SMTP-Fehler beim Entwickler liegen?

Ich bekomme eine Fehlermeldung von einer Website zurück, die auf einen Serverfehler hindeutet. Dieser Server funktioniert jedoch für alle anderen Websites auf der Box. Besteht die Möglichkeit, dass ich (Entwickler) etwas falsch mache? Ich habe keine Ahnung, wo ich anfangen soll, dies auf dem Server aufzuspüren, und mein Systemadministrator sagt, dass alles normal erscheint:

The following recipient(s) cannot be reached:
  Customer Service Account on 6/3/2009 11:00 AM
         There was a SMTP communication problem with the
recipient's email server.  Please
contact your system administrator.
<fgdc.myservername.net #5.5.0 smtp;550 Requested action not taken: mailbox unavailable>

Der Server ist 2003, 64-Bit und läuft mit Exchange 2003

Die Site ist Asp.Net C# und verwendet URL-Routing.

Wo kann ich mit der Fehlerbehebung beginnen?


AKTUALISIEREN

Wie sich herausstellte, führte mein Systemadministrator das Problem auf eine Spam-Schutzebene zurück. Es stellte sich heraus, dass MIMESweeper die Nachricht möglicherweise wegwirft, da es die Nachricht von unserer Webserverfarm sieht, die versucht, eine E-Mail mit einer internen Adresse zu versenden. Wir haben externe Adressen (Gmail, Hotmail usw.) getestet und es hat einwandfrei funktioniert.

Vielen Dank für alle Antworten. Wie sich herausstellte, war aus meiner Sicht die beste Antwort „Sprechen Sie mit Ihrem Systemadministrator“ … aber ich dachte, ich aktualisiere die Frage für alle da draußen, die etwas Ähnliches haben.

Antwort1

Damit sagt der Server, dass die von Ihnen als „RCPT TO:“ angegebene Person ungültig ist.

Ich würde Ihnen empfehlen, zunächst etwas wie Wireshark zu verwenden, um die SMTP-Konversation zwischen Ihrem Code und dem Server aufzuzeichnen und zu überprüfen, ob Sie das senden, was Sie erwarten. Es ist immer gut zu sehen, was auf der Leitung passiert und ob es mit dem übereinstimmt, was laut Ihrem Code passieren sollte.

Wenn Sie den richtigen Empfänger angeben, wenden Sie sich an den Serveradministrator und lassen Sie dies überprüfen.

Antwort2

Natürlich kann das auch ein Fehler des Entwicklers sein. In der Spezifikation steht beispielsweise, dass der RCPT folgendermaßen aussehen soll:

RCPT TO:<[email protected]>

Es ist jedoch gängige Praxis, tatsächlich Folgendes zu senden:

RCPT TO: [email protected]

Die meisten voll funktionsfähigen, ausgereiften MTAs akzeptieren Letzteres, obwohl es nicht ganz korrekt ist. Einige Anwendungen (wie Mail-Firewalls, CRM-Mail-Catcher usw.) sind diesbezüglich streng und geben einen Fehler zurück.

Ich sage nicht, dass dies in diesem Fall die Ursache ist, aber es ist ein Beispiel dafür, dass Ihr Code auf den meisten Servern funktionieren kann, es aber trotzdem Ihre Schuld sein kann, wenn er auf einem kleinen Prozentsatz der Server abstürzt.

Ich schließe mich Evans Empfehlung an, den Datenverkehr zu überwachen und herauszufinden, was tatsächlich gesendet wird.

Antwort3

Können Sie mit konventionellen Waffen sozusagen eine E-Mail an die betreffende E-Mail-Adresse senden? Wenn ja, liegt es wahrscheinlich an Ihrem Code. Wenn nicht, liegt es an deren Server (oder möglicherweise an einer Firewall, die versucht, für deren Server ein Smarthosting zu betreiben).

Antwort4

Falls Sie sich fragen, dies ist die Serverfault-Site. Wenn Ihr Systemadministrator gesagt hat, es liege am Code, dann ist es der Code. Fehler sind immer die Schuld des Entwicklers. Wenn Sie dem Systemadministrator die Schuld geben wollen, gibt es meines Wissens eine Site namens Stackoverflow, die vielleicht mehr Verständnis hat :)

Im Ernst, ja, es liegt am Code. Laut Fehler ist der Empfänger ungültig. Irgendwie versucht der Webserver, E-Mails an ein Konto namens "Kundendienstkonto" zu senden. Alle E-Mail-Adressen haben das Format[email geschützt]. Die Tatsache, dass Sie einen 550-Fehler erhalten haben, zeigt, dass Sie sich ordnungsgemäß mit dem Ziel-Mailserver verbunden haben, aber es gibt keinen Benutzer mit dem Namen „Kundendienstkonto“.

Technisch gesehen bedeutet 550, dass keine Weiterleitung möglich ist, aber ich vermute, dass Sie versuchen, an ein internes Postfach zu senden. Selbst wenn Sie eine Weiterleitung versuchen, ist dieser Empfänger nicht richtig formatiert.

verwandte Informationen