E -Mail -Benachrichtigung mit Javamail
-
27-10-2019 - |
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?
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.