最近用play来做一个小项目,里面用到了发送邮件的功能。这里我将这部分抽出来分享,毕竟目前来看paly于scala方面的中文资料在网上还是毕竟少,希望我的这篇文章能为有需要的人提供一点思路。

下面写下我发送邮件的配置以及步骤,我用的是网易yeah.net邮箱,需要在邮箱设置里面启用smtp和设置客户端授权码才行。

我们在play应用中的build.sbt中引入相应的包

"com.typesafe.play" %% "play-mailer" % "5.0.0"

然后在application.conf文件中配置smtp服务地址和账号密码

play.mailer {
host = "smtp.yeah.net"
user = "用户名"
password = "客户端授权码"
}

需要注意的是用户名不要带后缀,比如你的邮箱是xxx@yeah.net,那么用户名就是xxx

编写Mail.scala

import javax.inject.{Inject, Singleton}
import play.api.libs.mailer._ @Singleton
class Mail @Inject()(mailerClient: MailerClient) {
def sendEmail: Unit = {
val email = Email(
"Simple email",
"Service <username@yeah.net>",
Seq("xxxx <xxxx@qq.com>"),
attachments = Seq(),
bodyText = Some("A text message"),
bodyHtml = Some(s"""<html><body><h1>Hello, Play for Scala</h1></body></html>""")
)
mailerClient.send(email)
}
}

最后在需要发送邮件的地方实例化Mail调用sendEmail函数就可以了。

原创文章,转载请注明出处。

最新文章

  1. 自制-随机生成不重复的数组 --算法,egret平台下的TS code
  2. XSS常用技巧
  3. Python SQLAlchemy --1
  4. 漫谈Linux内核哈希表(1)
  5. 借助magicwindow sdk plugin快速集成sdk
  6. (顺序表的应用5.4.2)POJ 1591 M*A*S*H(约瑟夫环问题的变形——变换步长值)
  7. JAR WAR EAR包的区别
  8. Entity Framework with MySQL 学习笔记一(验证标签)
  9. Chapter 3.单一职责原则
  10. docker容器安全
  11. 设置Linux环境变量的方法与区别(Ubuntu)
  12. SQLServer 创建服务器和数据库级别审计
  13. Servlet3.0注解@WebInitParam和@WebServlet
  14. [Swift]LeetCode452. 用最少数量的箭引爆气球 | Minimum Number of Arrows to Burst Balloons
  15. C#时间、日期 的操作
  16. java_oop_类与对象
  17. canvas画布内部重复画圆
  18. SyntaxError: missing ; before statement
  19. C/C++基础----表达式
  20. Linux - 系统路径加入命令

热门文章

  1. tidyr包--数据处理包
  2. 【BZOJ】2741: 【FOTILE模拟赛】L
  3. 访问google,youtube
  4. 使用ADO.NET访问数据库
  5. Node.js执行存储过程
  6. 1055. The World&#39;s Richest (25)
  7. [LintCode] Wiggle Sort II 扭动排序之二
  8. [CareerCup] 15.2 Renting Apartment II 租房之二
  9. [zt]摄像机标定(Camera calibration)笔记
  10. 【转】Selenium WebDriver + Python 环境