Appengine不发送电子邮件

时间:2011-12-26 05:20:01

标签: java google-app-engine email javamail

我正在尝试使用Appengine Mail API从我的应用程序发送邮件。我正在运行下面的代码,该代码执行正常,没有例外,但实际上没有发送邮件。这是代码:

public static void sendNotificationEmail(String subject, String message, String emailAddress) {
    System.err.println("Sending mail: " + emailAddress);
    Properties props = new Properties();
    Session session = Session.getDefaultInstance(props, null);

    try {
        Message msg = new MimeMessage(session);
        msg.setFrom(new InternetAddress("a@b.com", "Name"));
        msg.addRecipient(Message.RecipientType.TO, new InternetAddress(emailAddress));
        msg.setSubject(subject);
        msg.setText(message);
        Transport.send(msg);
        System.err.println("done");
    }
    catch (Exception e) {
        System.err.println(e);
    }
}

a@b.com是该应用的注册所有者(但不是结算管理员)。查看日志,打印“完成”但不发送电子邮件。

有什么想法吗?

更新:

发现电子邮件实际上是通过但是在垃圾邮件文件夹中。任何方式可以让我的应用更多(声誉)不被标记为垃圾邮件。我们的应用程序会在系统发生变化时向用户发送通知电子邮件。

1 个答案:

答案 0 :(得分:4)

也许您将电子邮件标记为垃圾邮件,因为它是从不同的主机发送的,我的意思是,它可能不是GMail连接的域。

在这种情况下,为防止将其标记为垃圾邮件,为您的域配置SPF非常有用,请参阅Google帮助:Creating an SPF record。它前段时间给了我很多帮助