在 scala playframework(2.6) slick 中发送邮件到 Gmail
Sending a Mail to Gmail in scala playframework(2.6) slick
我正在尝试向我的 gmail 帐户发送邮件。
我收到 "Email Send" 的回复。但我没有收到任何邮件。
我正在使用 Scal Playframework(2.6)
libraryDependencies += "com.typesafe.play" %% "play-mailer" % "6.0.0"
libraryDependencies += "com.typesafe.play" %% "play-mailer-guice" % "6.0.0"
这就是我所做的
控制器Class
package controllers
import play.api.libs.mailer._
import java.io.File
import java.io.File
import java.io.InputStream
import play.api.Environment
import org.apache.commons.mail.EmailAttachment
import play.api.libs.mailer._
import play.api.mvc.{AbstractController, Action, Controller, ControllerComponents}
import akka.http.scaladsl.model.HttpHeader.ParsingResult.Ok
import org.apache.commons.mail.EmailAttachment
import javax.inject.Inject
import play.api.libs.json.Json
class MailController @Inject()(mailer: MailerClient, environment: Environment) extends Controller {
def sendWithCustomMailer = Action {
// val mailer = new SMTPMailer(SMTPConfiguration("typesafe.org", 1234))
// val id = mailer.send(Email("Simple email", "Mister FROM <abhinaykumar499@gmail.com>"))
val emailfrom="xxxxxx@gmail.com"
val emailto="yyyyyyyyy@gmail.com"
val subject ="Simple Email"
val bodytext="A text message";
val email = Email("Simple email", ""+emailfrom+"", Seq(""+emailto+""), bodyText = Some("A text message"))
mailer.send(email)
Ok(s"Email sent!")
}
而且我已经在 Application.conf
中添加了这个
play.mailer {
smtp.host = "smtp.gmail.com" // (mandatory)
port = 465// (defaults to 25)
ssl = true // (defaults to no)
tls = false // (defaults to no)
tlsRequired =false // (defaults to no)
user = "xxxxxx@gmail.com" // (optional)
password = "12121212" // (optional)
// debug = false // (defaults to no, to take effect you also need to set the log level to "DEBUG" for the application logger)
timeout = 600 // (defaults to 60s in milliseconds)
connectiontimeout = 600 // (defaults to 60s in milliseconds)
mock = true // (defaults to no, will only log all the email properties instead of sending an email)
}
我认为您错误地配置了主机部分。你写了 smtp.host = "smtp.gmail.com"
但正确的值是 host = "smtp.gmail.com"
.
在我的项目中,google smtp 的工作配置如下:
play {
mailer {
host = "smtp.gmail.com"
port = 587
tls = yes
user = "xxxxxx@gmail.com"
password = "xxxxxxx"
}
}
我正在尝试向我的 gmail 帐户发送邮件。 我收到 "Email Send" 的回复。但我没有收到任何邮件。 我正在使用 Scal Playframework(2.6)
libraryDependencies += "com.typesafe.play" %% "play-mailer" % "6.0.0"
libraryDependencies += "com.typesafe.play" %% "play-mailer-guice" % "6.0.0"
这就是我所做的
控制器Class
package controllers
import play.api.libs.mailer._
import java.io.File
import java.io.File
import java.io.InputStream
import play.api.Environment
import org.apache.commons.mail.EmailAttachment
import play.api.libs.mailer._
import play.api.mvc.{AbstractController, Action, Controller, ControllerComponents}
import akka.http.scaladsl.model.HttpHeader.ParsingResult.Ok
import org.apache.commons.mail.EmailAttachment
import javax.inject.Inject
import play.api.libs.json.Json
class MailController @Inject()(mailer: MailerClient, environment: Environment) extends Controller {
def sendWithCustomMailer = Action {
// val mailer = new SMTPMailer(SMTPConfiguration("typesafe.org", 1234))
// val id = mailer.send(Email("Simple email", "Mister FROM <abhinaykumar499@gmail.com>"))
val emailfrom="xxxxxx@gmail.com"
val emailto="yyyyyyyyy@gmail.com"
val subject ="Simple Email"
val bodytext="A text message";
val email = Email("Simple email", ""+emailfrom+"", Seq(""+emailto+""), bodyText = Some("A text message"))
mailer.send(email)
Ok(s"Email sent!")
}
而且我已经在 Application.conf
中添加了这个play.mailer {
smtp.host = "smtp.gmail.com" // (mandatory)
port = 465// (defaults to 25)
ssl = true // (defaults to no)
tls = false // (defaults to no)
tlsRequired =false // (defaults to no)
user = "xxxxxx@gmail.com" // (optional)
password = "12121212" // (optional)
// debug = false // (defaults to no, to take effect you also need to set the log level to "DEBUG" for the application logger)
timeout = 600 // (defaults to 60s in milliseconds)
connectiontimeout = 600 // (defaults to 60s in milliseconds)
mock = true // (defaults to no, will only log all the email properties instead of sending an email)
}
我认为您错误地配置了主机部分。你写了 smtp.host = "smtp.gmail.com"
但正确的值是 host = "smtp.gmail.com"
.
在我的项目中,google smtp 的工作配置如下:
play {
mailer {
host = "smtp.gmail.com"
port = 587
tls = yes
user = "xxxxxx@gmail.com"
password = "xxxxxxx"
}
}