博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot 发送邮件
阅读量:6464 次
发布时间:2019-06-23

本文共 3911 字,大约阅读时间需要 13 分钟。

依赖

compile group: 'org.springframework.boot', name: 'spring-boot-starter-mail'

配置

spring:    # 发邮件  mail:    host: smtp.qq.com    port: 587    username: 1185172056@qq.com    password: 不是qq邮箱的密码,是授权码    properties:      smtp:        auth: true        starttls:          enable: true          required: true#      mail:#        smtp:#          ssl:#            enable: true

发送简单文本邮件

package com.futao.springmvcdemo.service.implimport com.alibaba.fastjson.JSONimport com.futao.springmvcdemo.model.system.MailMimport com.futao.springmvcdemo.model.system.SystemConfigimport com.futao.springmvcdemo.service.MailServiceimport org.apache.rocketmq.client.producer.DefaultMQProducerimport org.apache.rocketmq.common.message.Messageimport org.slf4j.LoggerFactoryimport org.springframework.beans.factory.annotation.Valueimport org.springframework.mail.SimpleMailMessageimport org.springframework.mail.javamail.JavaMailSenderimport org.springframework.mail.javamail.MimeMessageHelperimport org.springframework.stereotype.Serviceimport org.thymeleaf.TemplateEngineimport org.thymeleaf.context.Contextimport java.nio.charset.Charsetimport javax.annotation.Resource/** * @author futao * Created on 2018/10/17. */@Serviceopen class MailServiceImpl : MailService { private val logger = LoggerFactory.getLogger(MailServiceImpl::class.java)    @Value("\${spring.mail.username}")    lateinit var username: String    @Resource    lateinit var sender: JavaMailSender     /**     * 发送简单邮件     */    override fun sendSimpleEmail(to: Array
, cc: Array
, subject: String, content: String): Boolean { return try { val mailMessage = SimpleMailMessage().apply { from = username setTo(*to) setCc(*cc) setSubject(subject) text = content } sender.send(mailMessage) true } catch (e: Exception) { logger.error(e.message, e) false } }

发送html邮件

/**     * 发送html邮件     */    override fun sendHtmlEmail(to: Array
, cc: Array
, subject: String, content: String, isHtml: Boolean): Boolean { return try { val message = sender.createMimeMessage() MimeMessageHelper(message).apply { setFrom(username) setTo(to) setCc(cc) setSubject(subject) setText(content, isHtml) } sender.send(message) true } catch (e: Exception) { logger.error(e.message, e) false } }

使用邮件模板发送邮件

  • 添加依赖
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
  • 配置
spring:    thymeleaf:    cache: true    prefix:classpath: /templates/    mode: HTML
  • 新建html模板文件
    Email    

Hi, Developer

There is an exception occurred in method methodName, the error message is :

                                    Error Message                            
occurredTime
/**     * 使用邮件模板发送邮件     */    override fun sendHtmlEmailWithTemplate(to: Array
, cc: Array
, subject: String, templatePath: String, context: Context): Boolean { return try { val message = sender.createMimeMessage() MimeMessageHelper(message).apply { setFrom(username) setTo(to) setCc(cc) setSubject(subject) setText(template.process(templatePath, context), true) } sender.send(message) true } catch (e: Exception) { logger.error(e.message, e) false } }

测试:

image.png

image.png

下一篇文章将介绍使用消息队列发送邮件

转载地址:http://fiezo.baihongyu.com/

你可能感兴趣的文章
Tiny语言执行环境TM机源码
查看>>
PE文件之资源讲解
查看>>
windows 7/mac编译cocos2d-x-3.2*的android工程报错
查看>>
MYSQL导入导出.sql文件(转)
查看>>
git review报错一例
查看>>
Tomcat在Linux上的安装与配置
查看>>
《信息安全系统设计基础》 课程教学
查看>>
Linux平台下使用rman进行oracle数据库迁移
查看>>
全栈工程师学习Linux技术的忠告
查看>>
iOS自定制tabbar与系统的tabbar冲突,造成第一次点击各个item图片更换选中,第二次选中部分item图片不改变...
查看>>
C# Dictionary用法总结
查看>>
SVN服务器使用(二)
查看>>
反射获取内部类以及调用内部类方法
查看>>
C语言 - pthread
查看>>
谈Linq To Sql的优劣--纯个人观点
查看>>
HDU 4996 Revenge of LIS(DP)
查看>>
App里面如何正确显示用户头像
查看>>
DATAGUARD维护:从库宕机后如何恢复到管理恢复模式
查看>>
U-BOOT之一:BootLoader 的概念与功能
查看>>
我的路上
查看>>