2009-06-18 6 views
2

Ich benutze den SMTP-Server von GMail, um E-Mails zu senden. Und PHPMailer als Mail-sendendes Skript.GMail SMTP zum Senden von E-Mails, Fehler empfangen (4.7.0), aber Mail wird gesendet!

Ich habe diesen Fehler empfangen (I log alle SMTP-Fehler, das heißt, wann immer, PHPMailer :: Senden fehlschlägt): -

SMTP Error: Data not accepted.<p>SMTP server error: 4.7.0 Temporary System Problem. Try again later (WS) 

Aber die Mails tatsächlich gesendet wird. (Das weiß ich, indem ich den Zeitstempel der gesendeten Mails und den Zeitstempel im Log abgleiche.)

Wie ist es möglich? Was bedeutet dieser Fehler?

UPDATE: Ich glaube, ich war nicht klar in meiner Frage. Lassen Sie mich es anders formulieren: -

Ich bin nicht besorgt, wenn eine Mail verloren ist, nachdem PHPMailer in der Lage ist, es an GMail SMTP zu senden. Aber ich bin besorgt, dass PHPMailer Fehler zurückgegeben hat, aber die Mail wurde gesendet. Ist es möglich?

Antwort

2

Ich denke, dass SMTP die Lieferung sowieso nicht garantiert. Es ist ein Store-and-Forward-Mechanismus. Aus diesem Grund können einige E-Mails fehlen (z. B. wenn ein Relay abstürzte, während er die Nachricht weitergab).

Wenn Sie für wichtige Funktionen auf E-Mail angewiesen sind, können Sie eine Art von Feedback-Mechanismus erzwingen (möglicherweise über eine Antwort). Wenn dann innerhalb eines bestimmten Zeitraums keine Antwort empfangen wird, versuchen Sie es erneut.

UPDATE: Es ist sehr wahrscheinlich möglich. Sie benötigen lediglich einen Mail-Server, der Ihnen stattdessen einen Fehlercode sendet. Es kann einen Fehlercode aus einer Vielzahl von Gründen senden, zu viele, um sie aufzulisten. Ich schlug die obige Methode vor, weil Sie Serverantworten niemals allein auf Vertrauen nehmen sollten, besonders wenn es keine Art von Atomizität/Säure gibt.

Verwandte Themen