繁体   English   中英

在Google App Engine上使用JavaMail丢失电子邮件

[英]Missing email using JavaMail on Google App Engine

我有这个非常奇怪的问题,我无法找到解决方案...我希望你能帮助我......

我正在使用Google App Engine来构建我的应用程序(让我们称之为“MyApp”),进行测试,我将克隆的应用程序重命名为“sandbox-MyApp”。

我需要允许我的用户发送包含一些数据的邮件,因此我有一个表单,他们可以填写一些将添加到邮件中的信息。

很久以前我一直在使用这个场景,但现在我遇到了问题,因为出于某种原因,收到的邮件没有收到我收到的邮件......

这是一个非常奇怪的事情,因为,我可以毫无问题地发送一两封邮件,但在那之后,它们突然停止,并且经过一些代码更改后,它们再次工作。

  • 我正在使用Java.Mail来完成这项工作,
  • 我正在尝试发送一个简单的HTML,
  • 我的“发件人”地址类似于“userName@sandbox-myApp.appspotmail.com”
  • 我的主题是这样的:“Hello userName!有一些重要信息给你”
  • 消息非常简单,包括图像徽标(由https://sandbox-myApp.appspot.com/img/logo.png提供 ),邀请文本和指向我的应用程序URL的单个链接...( https: //sandbox-myApp.appspot.com/

我的代码非常简单,基于Google文档。

MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(senderAddress, MimeUtility.encodeText(senderLabel, "UTF-8", "B"), "UTF-8"));
           msg.addRecipient(javax.mail.internet.MimeMessage.RecipientType.TO, new InternetAddress(receiverAddress, receiverLabel, "UTF-8"));
                if(responseAddress != null && !responseAddress.trim().isEmpty()){
                    msg.setReplyTo(new Address[] {
                        new InternetAddress(responseAddress, MimeUtility.encodeText(senderLabel, "UTF-8", "B"))
                    });
                }
                msg.setSubject(MimeUtility.encodeText(subject, "UTF-8", "B"), "UTF-8");

                    msg.setContent(msgBody, "text/html;charset=UTF-8");

                Transport.send(msg);

我已经尝试将“from”更改为类似“app_admin@mydomain.com”的内容并且它可以工作一段时间,但在一些邮件(大约5或6)之后,也停止工作。

最令人震惊的事情:日志上没有任何错误消息...... Cuota Viewer会计算每封已发送的邮件(因此我认为它必须在其他地方被阻止),

我修改了消息以省略身体上的任何URL并且它工作得更好,但我需要包含它!

问题在https://code.google.com/p/googleappengine/issues/detail?id=12786上进行了跟踪

适用于我的应用程序的解决方法是不使用appspot.com域。 为应用程序注册自定义域,然后使用自定义域工作邮寄到应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM