Frage

Ich habe eine Methode zur Implementierung der E -Mail -Benachrichtigung mit Javamail versucht. Ich habe den Code geschrieben, und es gibt keinen Fehler. Es wurde jedoch keine E -Mail gesendet. Ich benutze GAE mit JSF2.

Properties props = new Properties();
javax.mail.Session session1 = javax.mail.Session.getDefaultInstance(props, null);

String msgBody = "This is a test mail";

try {
    System.out.println("Email notification is sending");
    Message msg = new MimeMessage(session1);
    msg.setFrom(new InternetAddress("myGmailId1@gmail.com", "Example.com Admin"));
    msg.addRecipient(Message.RecipientType.TO,
            new InternetAddress("myGmailId2@gmail.com", "Mr. User"));
    msg.setSubject("Your Example.com account has been activated");
    msg.setText(msgBody);
    Transport.send(msg);
    System.out.println("Email notification has been sent");
} catch (AddressException e) {
    // ...
} catch (MessagingException e) {
    // ...
}

Wo bin ich falsch gelaufen?

War es hilfreich?

Lösung

Überprüfen Sie, ob Ihre Absender-E-Mail-Adresse entweder als Administrator Ihrer App registriert ist, oder die E-Mail-Adresse des aktuellen Benutzers, der sich an der App angemeldet hat.

Laut dem App Engine Mail API -Dokumentation:

Für Sicherheitszwecke die Absenderadresse einer Nachricht Muss die E -Mail -Adresse eines Administrators für die Bewerbung sein oder eine gültige E -Mail -Empfangsadresse für die App (siehe Empfangsmail). Das Der Absender kann auch die E -Mail -Adresse des Google -Kontos des aktuellen Benutzers sein, der unterschrieben ist, Wenn das Benutzerkonto ein Google Mail -Konto ist oder sich in einer von Google Apps verwalteten Domäne befindet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top