Ich gehe davon aus, dass Sie GMailSender verwenden, wie in diesem Beitrag definiert.
Intern ruft GMailSender Transport.send(message) auf, was eine Ausnahme auslösen wird, wenn der Sendevorgang an den GMail-Server nicht erfolgreich ist. Dies wird jedoch abgefangen und unterdrückt, sodass Ihr Aufrufcode nicht wissen kann, ob der Versand erfolgreich war. Zunächst müssen Sie den GMailSender-Code ändern, um im Falle eines Versandfehlers etwas Sinnvolleres zu tun.
Was Sie sich bewusst sein müssen, ist, dass E-Mails nicht direkt vom Absender über Ihre App oder sogar den GMail-Server an den endgültigen Empfänger zugestellt werden. Nur weil es Ihnen gelungen ist, die E-Mail korrekt an den GMail-Server zu senden, bedeutet dies nicht, dass sie tatsächlich beim beabsichtigten Empfänger ankommt, da sie an einem beliebigen Mail-Relay auf ihrem Weg fehlschlagen könnte. Um ordnungsgemäß zu erkennen und zu melden, ob die E-Mail tatsächlich ihr Ziel erreicht, benötigen Sie etwas Komplexeres als das.
RFC 1891 ist eine Erweiterung des SMTP-Protokolls, die die Zustellungsstatusbenachrichtigungen unterstützt, aber Sie müssen möglicherweise Ihre App neu gestalten, um dies nutzen zu können. Grundsätzlich funktioniert es, indem Sie Flags in Ihrer ausgehenden Nachricht setzen, um Mail-Relays anzuweisen, Ihnen den Nachrichtenstatus mitzuteilen. Damit Sie diese Benachrichtigung erhalten, müssen Sie im Wesentlichen Ihren eigenen Mailserver haben, der E-Mails empfangen kann. Sie erhalten eine E-Mail, die beispielsweise einen Zustellungsbericht enthält, sobald ein Mail-Relay sie erfolgreich an das Postfach des Empfängers zugestellt hat.
Um dies ordnungsgemäß zu implementieren, benötigen Sie ein E-Mail-Konto für Ihre App, das Zustellungsstatusbenachrichtigungen erhält. Sie müssen ein SMTPMessage-Objekt erstellen, einen Header hinzufügen, der einen "Return-Receipt-To"-Header enthält, dessen Wert auf dieses E-Mail-Konto gesetzt ist. Sie müssen auch setNotifyOptions() für Ihre Nachricht festlegen und diese dann an den GMail-Server senden. Ihre App muss ihr Konto regelmäßig auf Zustellungsbenachrichtigungen überprüfen.
Dies ist ein rein auf E-Mail basierender Ansatz. Ohne Kenntnis Ihrer genauen Anforderungen gibt es alternative Mechanismen, die Sie verwenden können. Wenn Ihre Anforderung beispielsweise darauf beschränkt ist, die Existenz einer E-Mail-Adresse zu überprüfen, können Sie eine E-Mail senden, die eine URI an einen Server enthält, den Sie kontrollieren. Die URI enthält Parameter, die sowohl den Benutzer als auch die Installation Ihrer App eindeutig identifizieren. Der Benutzer muss auf den Link klicken, und Ihr Serverkomponente überprüft das E-Mail-Konto. Anschließend kann es beispielsweise C2DM verwenden, um Ihre App darüber zu informieren, dass das E-Mail-Konto echt und gültig ist.
Entschuldigen Sie, wenn diese Antwort ein wenig lang ist und Ihnen keine einfache Lösung bietet, aber wenn Sie ordnungsgemäß feststellen möchten, ob eine E-Mail ihren Empfänger erreicht, gibt es leider keine einfache Antwort, fürchte ich.