Уведомление по электронной почте с использованием javamail
-
27-10-2019 - |
Вопрос
Я пробовал метод для реализации уведомления по электронной почте с помощью javamail.i написал код, и ошибки нет. Но электронное письмо не было отправлено. Я использую GAE с 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) {
// ...
}
Где я ошибся?
Решение
Убедитесь, что ваш адрес электронной почты отправителя либо зарегистрировался в качестве администратора вашего приложения, либо адрес электронной почты текущего пользователя, который вошел в приложение.
Согласно App Engine Mail API документация:
В целях безопасности адрес отправителя сообщения Должен быть адрес электронной почты администратора для приложения или любой действующий адрес электронной почты для приложения (см. Приемную почту). А Отправитель также может быть адрес электронной почты учетной записи Google текущего пользователя, который подписан, если учетная запись пользователя является учетной записью Gmail или находится в домене, управляемых приложениями Google.