Notification par courrier électronique utilisant JavaMail
-
27-10-2019 - |
Question
Je tente une méthode pour mettre en œuvre notification par courrier électronique utilisant JavaMail.I a écrit le code et il n'y a pas d'erreur. Mais aucun e-mail a été envoyé. J'utilise GAE avec 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) {
// ...
}
Où je suis allé mal?
La solution
Vérifiez que votre adresse e-mail expéditeur soit enregistré en tant qu'administrateur de votre application, ou l'adresse e-mail de l'utilisateur courant de connecté à l'application.
Selon le App Engine courrier documentation de l'API :
Pour des raisons de sécurité, l'adresse de l'expéditeur d'un message doit être adresse e-mail d'un administrateur de l'application ou tout valide adresse email de réception pour l'application (voir courrier Réception). expéditeur peut aussi être l'adresse e-mail de compte Google de l'utilisateur actuel qui est signé en , si le compte de l'utilisateur est un compte Gmail ou est sur un domaine géré par Google Apps.