我正在尝试一种方法来实现电子邮件通知使用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) {
// ...
}
我哪里出错?
答案 0 :(得分:3)
检查您的发件人电子邮件地址是注册为应用程序的管理员,还是登录到应用程序的当前用户的电子邮件地址。
根据App Engine Mail API documentation:
出于安全考虑,邮件的发件人地址必须是 应用程序管理员的电子邮件地址或任何有效的 电子邮件接收应用程序的地址(请参阅接收邮件)。 发件人 也可以是当前用户的Google帐户电子邮件地址 已登录,如果用户的帐户是Gmail帐户或位于 由Google Apps管理的域名。