2

我正在尝试一种使用 JavaMail 实现电子邮件通知的方法。我编写了代码并且没有错误。但没有发送任何电子邮件。我正在将 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) {
    // ...
}

我哪里出错了?

4

1 回答 1

4

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

根据App Engine Mail API 文档

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

于 2012-02-17T12:13:14.473 回答