Java 从备用地址发送电子邮件

Java 从备用地址发送电子邮件,java,google-app-engine,email,Java,Google App Engine,Email,因此,我们在GAE应用程序中提供了一个非常好的电子邮件解决方案。我们可以从noreply@company.com如所愿。noreply@company.com在我们的应用程序中是一个具有开发访问权限的GAE帐户 接下来,我们想使用与此帐户关联的SMTP服务器。要做到这一点,我们需要升级帐户以使用gmail。在我们进行这项工作时,谷歌通知我们,我们需要将gmail地址与这个帐户关联起来——我们选择了这家公司。noreply@gmail.com. noreply@company.com将成为另一个地

因此,我们在GAE应用程序中提供了一个非常好的电子邮件解决方案。我们可以从noreply@company.com如所愿。noreply@company.com在我们的应用程序中是一个具有开发访问权限的GAE帐户

接下来,我们想使用与此帐户关联的SMTP服务器。要做到这一点,我们需要升级帐户以使用gmail。在我们进行这项工作时,谷歌通知我们,我们需要将gmail地址与这个帐户关联起来——我们选择了这家公司。noreply@gmail.com. noreply@company.com将成为另一个地址。然后我们做了noreply@company.com默认地址。现在我们可以远程使用smtp服务器,从noreply@company.com. 太好了

第二天,我们发现这破坏了我们GAE应用程序上的邮件。在权限中,帐户已从更改为noreply@company.com去公司。noreply@gmail.com. 重新邀请noreply@company.com进行得很成功,但最终该账户仍作为公司存在。noreply@gmail.com. noreply@company.com现在是未经授权发送邮件,或者换一种方式,我们无法设置noreply@company.com作为发件人地址,即使是授权帐户

是否有任何方法可以恢复从noreply@company.com通过GAE

--

当前代码:

final Properties props = new Properties();
final Session session = Session.getDefaultInstance(props, null);

try {
    final Message msg = new MimeMessage(session);
    msg.setFrom(new InternetAddress("noreply@company.com"));
    msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
    msg.setSubject(subject);
    msg.setContent(content, contentType);

    Transport.send(msg);
} catch (final MessagingException ex) {
    LOGGER.log(Level.SEVERE, ex.getMessage(), ex);
}
我们邀请了noreply@company.com成为管理员,并且已被成功接受,并在GAE权限中列出,尽管在备用地址下

以下是GAE在尝试使用该核准帐户发送电子邮件时给出的错误:

Internal Server Error (500) - The server encountered an unexpected condition which prevented it from fulfilling the request
    at org.restlet.resource.ServerResource.doHandle(ServerResource.java:517)
    at org.restlet.resource.ServerResource.post(ServerResource.java:1216)
...
Caused by: java.lang.IllegalArgumentException: Unauthorized Sender: Unauthorized sender
    at com.google.appengine.api.mail.MailServiceImpl.doSend(MailServiceImpl.java:109)
    at com.google.appengine.api.mail.MailServiceImpl.send(MailServiceImpl.java:34)
    at com.glasseystrategy.jstratpad.util.MailUtils.sendEmailReport(MailUtils.java:400)
...

这可以作为GAE中的公认错误来解决。就我所知,这目前不可能实现,也没有解决办法(除了使用不同的电子邮件地址)


这个问题似乎离题了,因为它是关于配置GAE/Gmail的,而不是关于编程或软件开发。不,这都是关于编程和软件开发的。通常,当你开发复杂的应用程序时,你需要从程序中发送电子邮件。在这种情况下,我们需要使用特定的发件人地址从GAE应用程序发送电子邮件。为此,您必须进行一些配置。这里给你一个参考:所以问题仍然存在——鉴于我们目前所处的状态,如何让GAE从这个地址发送电子邮件?欢迎使用任何代码。