Java邮件代码在部署到Jelastic时失败
我有一个运行动态web项目的Tomcat/Eclipse。这包括一个已知的good.war作为它的主要代码库。jar是mail.1.4.5.jar 在本地使用时,该设置在准确配置后,可以通过测试发送电子邮件。它可以传送到多种端口和两个截然不同的SMTP服务器。但部署到Jelastic后,该应用程序无法发送邮件 我可以列出一些错误,包括关于交通问题的报告。关键错误(可能会提供一些答案)是,当Jelast部署上的Java Mail配置为端口25时,应用程序会报告邮件已送达。这在两台服务器上都有效。但是邮件永远不会到达。我也检查过垃圾邮件,以确保邮件没有被反垃圾邮件截获 问题似乎很小——只有端口25正在处理邮件传递,Java mail认为它已经成功了。但是邮件可能没有到达的原因有很多,我不确定从哪里开始,或者在某些情况下,比如捕获出站邮件,如何调试 这个问题可能跟,Java邮件代码在部署到Jelastic时失败,java,jelastic,Java,Jelastic,我有一个运行动态web项目的Tomcat/Eclipse。这包括一个已知的good.war作为它的主要代码库。jar是mail.1.4.5.jar 在本地使用时,该设置在准确配置后,可以通过测试发送电子邮件。它可以传送到多种端口和两个截然不同的SMTP服务器。但部署到Jelastic后,该应用程序无法发送邮件 我可以列出一些错误,包括关于交通问题的报告。关键错误(可能会提供一些答案)是,当Jelast部署上的Java Mail配置为端口25时,应用程序会报告邮件已送达。这在两台服务器上都有效。但
但是,如果这是同一个问题,那么问题是Java范围的,不限于Grails。您是否尝试过通过使用localhost:25之外的任何其他外部SMTP服务器来解决该问题?例如,gmail SMTP?此问题的子结构可能比Java更广泛,它可能适用于所有Jelast部署。但我会介绍Java 第一步应该是检查应用程序的依赖关系,正如OP链接到的帖子中所解释的那样。OP解释说他们让应用程序进行测试/开发,但我再次提到这是Java部署错误的常见来源 接下来,Jelastic不提供邮件传输应用程序(JavaMail使用该应用程序进行传递)。因此,Jelast主机上提供的任何MTA都是由底层操作系统提供的。当然,大多数服务器都会有这样的配置,但可能会因主机而异 这对我来说很有意义,因为邮件传输是一项独立的服务。如果Jelastic提供了一个邮件传输,那么期望将控件作为一个单独的/可监视的/可计费的插件。但缺少这样一个插件意味着发送邮件的应用程序依赖于主机的底层配置(…但请看下面的内容)。这种传输的缺乏可能是合乎逻辑的,但是,它与共享服务器的常见期望相反 我接下来的评论适用于Layershift对Jelastic的实现,但我希望其他Jelastic主机的规定也大致相同
- 您有跟踪帐户和IPv4吗?
除非您拥有付费帐户和静态IP地址,否则不会启用Layershift的MTA。就这么简单 - Layershift的MTA配置
仅在端口25上工作,没有SSL
希望这能有所帮助。…我想我现在也有了答案。我应该更清楚地解释我提到的服务器——它们是外部服务器,其中之一就是非常可用的Gmail。现在,Gmail可以配置额外的安全措施,因此对于任何阅读的人来说,它可能不再是开放式故障排除的最佳选择-如果您有,请尝试ISP服务器。这可能是其他人的有用参考: