我正在开发一个托管在Ubuntu 14.04服务器上的播放应用程序,希望通过系统发送邮件(用于密码检索)。使用Play Mailer插件,我只是将配置保留为空白
# mail
mailers.from=""
smtp.host=localhost
#smtp.port=
#smtp.ssl=
#smtp.tls=
#smtp.user=""
#smtp.password=""
但这会导致异常
play.api.Application$$anon$1: Execution exception[[RuntimeException: org.apache.commons.mail.EmailException: Sending the email to the following server failed : localhost:25]]
at play.api.Application$class.handleError(Application.scala:293) ~[play_2.10.jar:2.2.3]
at play.api.DefaultApplication.handleError(Application.scala:399) [play_2.10.jar:2.2.3]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:264) [play_2.10.jar:2.2.3]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$3.apply(PlayDefaultUpstreamHandler.scala:264) [play_2.10.jar:2.2.3]
at scala.Option.map(Option.scala:145) [scala-library.jar:na]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:264) [play_2.10.jar:2.2.3]
虽然它可以与Google Mail帐户一起使用,但是我认为没有必要拥有一个有效的帐户。没有第三方帐户,是否可以发送邮件?该文件指出它作为可选的。
Play框架和提到的Mailer插件都没有内置的SMTP服务器,因此您需要一个外部SMTP服务器才能发送邮件。这就是Mailer插件需要SMTP主机的原因。
smtp.host(强制性)
在文档中将身份验证凭据标记为可选的原因是,您可以将SMTP服务器配置为接受未经身份验证的连接。
例如,如果您的Play应用程序和SMPT服务器位于同一局域网中,并且该服务器不可公开访问,则您可能会决定不需要身份验证,因为它仅针对该特定应用程序而设计。
简而言之,如果您希望能够在没有任何第三方帐户的情况下发送邮件,则需要本地SMTP服务器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句