Dies bedeutet, dass der empfangende Server das Postfach (den Teil vor dem '@') der E-Mail-Adresse nicht erkennt. Es könnte sein, dass es falsch geschrieben wurde, dass es einfach ein nicht existierender Name ist, oder dass der empfangende Server so eingestellt wurde, dass er eine Nachricht (z. B. Spam) ablehnt, indem er mit Code 550 antwortet.
Hier ist eine von vielen Seiten, die die SMTP-Antwortcodes zusammenfasst und Links zu verschiedenen relevanten RFCs enthält: Ссылка .
BEARBEITEN: Ich brauche etwas mehr Platz, um Ihre Frage zu beantworten, als die Kommentare zulassen.
@RaghuKing, wenn Sie das Javadoc für javax.mail.SendFailedException
betrachten, werden Sie feststellen, dass Sie 3 Methoden für ein solches Ausnahmeobjekt aufrufen können (innerhalb des Blocks catch
):
getInvalidAddresses()
, um ein Array von Adressen zu erhalten, die ungültig sind und daher nicht gesendet werden, getValidSentAddresses()
, um ein Array von Adressen zu erhalten, an die diese Nachricht erfolgreich gesendet wurde, und getValidUnsentAddresses()
, um ein Array von Adressen zu erhalten, die gültig sind, an die die Nachricht jedoch nicht gesendet wurde.
(Wenn eine Nachricht an mehrere Empfänger gesendet wird, können einige erfolgreich sein und einige fehlschlagen, aber die Ausnahme wird ausgelöst, wenn mindestens ein Fehler auftritt, unabhängig davon, wie viele Erfolge erzielt wurden. Natürlich auch, wenn Sie nur eine Nachricht senden Adresse, Sie werden diese eine Adresse nur in einem dieser Arrays haben, und sie wird wahrscheinlich NICHT in der Liste ValidSent sein.
Diese Arrays geben Ihnen mehr Informationen darüber, wie Sie mit der Ausnahme umgehen, abhängig vom Typ des Arrays, in dem sich eine Adresse befindet. Dies hängt natürlich von Ihrer Anwendung ab, aber dies können sinnvolle Vorschläge sein:
Aber am Ende müssen Sie den gesunden Menschenverstand anwenden und vielleicht ein wenig mit den Funktionen experimentieren, die Sie nicht verstehen, bis Sie sie verstehen.
Hatte die gleiche Ausnahme erlebt. Ich erkannte, dass ich keine E-Mails an unbekannte Benutzer senden konnte. Nach Rücksprache fand ich heraus, dass unser SMTP-Server kein offener Mail-Relay-Server war, lesen Sie Open Mail Relay .
Tags und Links java javax.mail