/**
* @author: ymz
* @DateTime:
* @Description:
*/
import com.typesafe.config.ConfigFactory
import org.apache.log4j.Logger
import org.junit.Test
import play.api.libs.mailer._
object SendMail {
/**
* 发送邮件方法
* @param subject : 主题
* @param content : 正文
* @param to : 接收者,默认是"***@.com"
*/
@Test
def send(subject: String, content: String, to: Seq[String] = Seq("***@qq.com")): Unit = {
val logger = Logger.getLogger(SendMail.getClass)
val from = "***@126.com" //填写邮件发送地址
val subject_pre = "**大数据平台异常告警" //邮件主题告警前缀
val bodyHtml = Option(
s"""
|<html>
|<body>
|<h1 align="center">${subject_pre} ${subject}</h1>
|<br />
|<p align="left" style=“color:red”>${content}</p>
|<br />
|<br />
|<br />
|<h3 align="center">请及时处理</h3>
|</body>
|</html>
""".stripMargin)
val charset = Option("utf-8") // 字符编码 默认utf-8
// 生成邮件
val email = Email(subject, from, to, None, bodyHtml, charset)
// STMP服务参数
val host = "smtp.126.com"
// STMP服务端口号
val port = 25
// STMP服务发送者用户邮箱
val user = Option("***")
// 在126网站中开通smtp服务,会返回一个密码
// 这个密码很重要,填错了发不了邮件
val password = Option("*******")
val timeout = Option(10000)
//setSocketTimeout 默认60s
val connectionTimeout = Option(10000)
//setSocketConnectionTimeout 默认60s
// STMP服务SMTPConfiguration
val configuration: SMTPConfiguration = new SMTPConfiguration(
host, port, false, false, false,
user, password, false, timeout,
connectionTimeout, ConfigFactory.empty(), false)
val mailer: SMTPMailer = new SMTPMailer(configuration)
// 发送邮件
mailer.send(email)
logger.info("==========scala邮件已发送成功!!!==========")
}
def main(args: Array[String]): Unit = {
val subject = "发送邮件测试"
val content = "**大数据平台崩溃"
// 填收件人邮箱
val to = Seq("***")
send(subject,content,to)
}
}
通过发送短信开启,开启后会返回一个密码,把密码填在代码中
val password = Option("********")
就可以发送邮件了。