使用JavaMail进行电子邮件通知

时间:2012-02-17 09:14:36

标签: google-app-engine javamail email-notifications

我正在尝试一种方法来实现电子邮件通知使用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) {
    // ...
}

我哪里出错?

1 个答案:

答案 0 :(得分:3)

检查您的发件人电子邮件地址是注册为应用程序的管理员,还是登录到应用程序的当前用户的电子邮件地址。

根据App Engine Mail API documentation

  

出于安全考虑,邮件的发件人地址必须是   应用程序管理员的电子邮件地址或任何有效的   电子邮件接收应用程序的地址(请参阅接收邮件)。 发件人   也可以是当前用户的Google帐户电子邮件地址   已登录,如果用户的帐户是Gmail帐户或位于   由Google Apps管理的域名。