将电子邮件发送到以下服务器失败:smtp.gmail.com:25 [英] Sending the email to the following server failed : smtp.gmail.com:25

查看:451
本文介绍了将电子邮件发送到以下服务器失败:smtp.gmail.com:25的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试从scala Playmework发送邮件时,出现以下错误,

When I try to send a mail from scala Playmework, I got following error,

[ERROR] [10/10/2013 13:31:16.263] [play-akka.actor.default-dispatcher-75] [TaskInvocation] Sending the email to the following server failed : smtp.gmail.com:25
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:25
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
    at org.apache.commons.mail.Email.send(Email.java:1267)
    at com.typesafe.plugin.CommonsMailer.send(MailerPlugin.scala:241)
    at com.typesafe.plugin.MailerBuilder$class.sendHtml(MailerPlugin.scala:204)
    at com.typesafe.plugin.CommonsMailer.sendHtml(MailerPlugin.scala:215)
    at models.SignUpProcess$$anonfun$models$SignUpProcess$$sendEmail$1.apply$mcV$sp(SignUpProcess.scala:261)
    at akka.actor.DefaultScheduler$$anon$8.run(Scheduler.scala:193)
    at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:137)
    at scala.concurrent.forkjoin.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1417)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Caused by: javax.mail.AuthenticationFailedException
    at javax.mail.Service.connect(Service.java:319)
    at javax.mail.Service.connect(Service.java:169)
    at javax.mail.Service.connect(Service.java:118)
    at javax.mail.Transport.send0(Transport.java:188)
    at javax.mail.Transport.send(Transport.java:118)
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
    ... 12 more

如何解决此错误?

SignUpProcess.scala

private def sendEmail(subject: String, recipient: String, bodyString:Html) {

        import scala.concurrent.duration._
        import play.api.libs.concurrent.Execution.Implicits._

        Akka.system.scheduler.scheduleOnce(1 seconds) {
          val mail = use[MailerPlugin].email
          mail.setSubject(subject)
          mail.addRecipient(recipient)
          mail.addFrom("innodeagcm@gmail.com")
          println(bodyString)


          mail.sendHtml(bodyString.toString)
        }
}

application.conf

smtp.host = smtp.gmail.com
smtp.port = 465
smtp.ssl = true
smtp.tls = no
smtp.user = "companymail@gmail.com"
smtp.password = "mypassword"

推荐答案

1..这是 GMail 的有效配置:

smtp.host=smtp.gmail.com
smtp.port=587
smtp.ssl=yes
smtp.user="me@gmail.com"
smtp.password="myPassword"

您必须使用端口587 (并激活 SSL )

2..另外,请确保两因素身份验证未激活(否则,您必须生成新的应用程序密码)

2. Also ensure that Two factor authentication is not activated (otherwise you must generate a new application password)

3..连接失败的另一个原因:它看起来像是可疑连接.

3. Another cause of connection fail : it can be seemed like a suspect connection.

因此,请检查您帐户上从google收到的邮件,以确保该连接未被google阻止(如果播放是在另一个国家(而不是您用来手动连接的国家/地区)托管的,则发生这种情况)

So check mails received from google on your account to ensure the connection has not been blocked by google (happens if play is hosted in another country than the one you are used to connect manually)

这篇关于将电子邮件发送到以下服务器失败:smtp.gmail.com:25的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆