Gmail reagiert mit "Keine gültige RFC-5321-Adresse" Fehler für RCPT-aber nicht E-MAIL verb
Im Kontext des Schreibens eine MSA (der Arten) für unsere Anwendung, die ich bin derzeit ein wenig code schreiben, um zu testen, ob es möglich ist, eine Verbindung zu einer bestimmten Adresse E-Mails zu senden, einschließlich, wenn eine Authentifizierung erforderlich ist.
Testen für ich letztere so tun, senden Sie eine E-Mail von der (fiktiven) Adresse mit der gleichen Adresse, die Sie für die Empfänger.
Ich diesen Ansatz verwenden, obwohl ich lieber nicht, da ich in der Lage sein, zu senden eine E-MAIL verb und ein RCPT-verb an den server. Der Grund für dieses ist, soweit ich das beurteilen kann, kein verb vor dem senden der MAIL (d.h. EHLO, STARTTLS AUTH etc.) entlocken wird ein Fehler angezeigt, wenn die Authentifizierung fehlt. Einige Server, wie Gmail, mit einer Fehlermeldung reagieren auf die Zusendung einer unerlaubten E-MAIL, aber andere reagieren nur sobald ich versuche, einen Empfänger hinzufügen, daher die Notwendigkeit für beide Verben.
Der Grund, warum ich eine IP-Adresse anstelle des Domänennamens in die fiktive E-mail ist, dass ich nicht unbedingt haben Zugang zu einem domain-Namen an dieser Stelle. Ich weiß, es ist nicht schön, aber es ist legal. Sofern die IP-Adresse angegeben ist, laut RFC 5321.
Das lustige an der Sache ist, dass Gmail akzeptiert die E-MAIL-verb-Verwendung der fiktive E-mail-Adresse, sondern werfen 553 Fehler, wenn die gleiche Adresse verwendet wird, für die Empfänger beschweren, es ist nicht eine gültige RFC-5321-Adresse.
SEND: "MAIL FROM:<test@[IPv6:fe80::105e:c040:c56c:b8bc]>"
RECV: "250 2.1.0 OK s82sm4688131lja.26 - gsmtp"
SEND: "RCPT TO:<test@[IPv6:fe80::105e:c040:c56c:b8bc]>"
RECV: "553-5.1.2 The recipient address <test@[ipv6:fe80::105e:c040:c56c:b8bc]> is not a"
"553 5.1.2 valid RFC-5321 address. s82sm4688131lja.26 - gsmtp"
Sollte ich beachten, dass ich versucht habe dies sowohl mit als auch ohne das IPv6-Präfix. Ohne es, einen anderen SMTP-server läuft Postfix beschwert. Der Postfix-server wurde zufällig einer von denen nicht das werfen ist ein Fehler beim versenden der E-MAIL verb nicht authentifizierter.
Dieses Problem mit Gmail beschränkt sich nicht nur auf IPv6-Adressen, durch die Art und Weise. Umstellung auf eine IPv4-Adresse führt zum selben Ergebnis. Auch nicht das Problem zu sein scheinen, in Verbindung mit lokalen Adressen. Das POST-verb wird angenommen, die RCPT-verb ausfällt.
Soweit ich das sagen kann, was ich anbieten, ist eine korrekte RFC-5321-kompatible Adresse. Was ist Los? Wohin gehe ich falsch? Auf den ersten Blick scheint das problem mit GMail/GSMTP.
Ich ursprünglich gebucht, diese Frage auf die Gmail-forum über an productforums.google.com, sondern war zu einer Seite geleitet, über die Gmail-API,die wiederum hat mich hierher geführt.
InformationsquelleAutor marcbf | 2016-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, ja, es ist ein "problem" mit Google Mail/SMTP in einem losen Sinne des Wortes, ein "problem" in dem Sinne, dass Sie sich weigern, E-Mail, gerichtet an eine
address-literal
, wie spezifiziert in RFC 5321.Obwohl RFC 5321 erlaubt eine Adresse literal in der
RCPT TO
, Gmail offensichtlich dafür entschieden, nicht um es zu unterstützen, aus welchen Gründen auch immer, die Sie verwendet. Ich bin zuversichtlich, dass Gmail ist nicht der einzige mail-Anbieter in der Welt, dass, für einen oder anderen Grund, nicht unterstützt einige Arkane Teil des SMTP-Protokolls.... Und das ist ziemlich viel es. Hier ist die Antwort, ziemlich viel, "es ist was es ist". Der Befehl, den Sie senden, ist konform mit RFC 5321. Gmail lehnt Sie ab. Ende.
Wenn Sie wollen, um pedantisch zu diesem, Abschnitt 3.3 (RFC 5321 sagt auch:
So, pedantisch, Gmail ist der mail-Server nicht technisch erforderlich sind, um die post für jemand anderes als Gmail. So ist das also.
Ihre Optionen sind:
Nicht Adresse verwenden Literale.
Verwenden Sie einen anderen mail-server-Anbieter, unterstützt die Ziel-Adressen angegeben als Adresse Literale.
Als für Optionen, ich bin mit dem, was mir zur Verfügung steht, die eine IP-Adresse. Dies kann entweder IPv4 oder IPv6. Ich habe eigentlich keine Kontrolle über die entweder. Die MSA wird mit einer Menge von verschiedenen Servern. Ich bin nur derzeit testet gegen Gmail (und ein paar andere). Und jetzt habe ich entdeckt inkonsistent/fehlerhafte Verhalten mit ihm und wollen eine Eingabe auf.
Sie können alle die "input" - Sie wollen, aber es macht keinerlei Unterschied. Dies ist, wie Gmail-Servern arbeiten, aus welchem Grund auch immer, und nichts getan werden kann, um das zu ändern. Die einzige person, die machen kann die Gmail-server akzeptieren E-mail an raw-IP-Adresse-Literale ist Ihre E-mail-administrator.
InformationsquelleAutor Sam Varshavchik