Уведомление по электронной почте с использованием javamail

StackOverflow https://stackoverflow.com/questions/9325577

Вопрос

Я пробовал метод для реализации уведомления по электронной почте с помощью 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top