一.启用客户端STMP服务
添加发送邮件功能,需要指定发送邮件的email地址
以QQ邮箱为例,展示如何开启 STMP 服务,以授权邮箱可作为发送方发送邮件
设置->账户目录下,**开启STMP服务,并生成授权码**
二.配置spring Email
-
1.导入jar包
<dependency\> <groupId\>org.springframework.boot</groupId\> <artifactId\>spring-boot-starter-mail</artifactId\> <version\>2.1.6.RELEASE</version\> </dependency\>
-
2.配置邮箱参数
在application.properties中配置: ``` //主机号 spring.mail.host\=smtp.qq.com //端口号 spring.mail.port\=465 //email账号 spring.mail.username\=371568309@qq.com //密码(授权码) spring.mail.password\=nezhkkcjfvqsbhdd //支持协议 spring.mail.protocol\=smtps //采用ssl安全连接 spring.mail.properties.mail.smtp.ssl.enable\=true ```
-
3.编写MailClient工具类
@Component public class MailClient { private static final Logger logger \= LoggerFactory.getLogger(MailClient.class); @Autowired private JavaMailSender mailSender; @Value("${spring.mail.username}") private String from; /\*\* \* 发送邮件方法 \* @param to 发给谁 \* @param subject 邮件标题 \* @param context 邮件内容 \*/ public void sendMail(String to, String subject, String context){ try{ //构建邮件发送对象 MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message); helper.setFrom(from); helper.setTo(to); helper.setSubject(subject); helper.setText(context, true);//支持html格式 //发送邮件 mailSender.send(helper.getMimeMessage()); }catch (Exception e){ logger.error("发送邮件失败:"+e.getMessage()); } } }
三.发送邮件
@Autowired
private MailClient mailClient;
@Autowired
private TemplateEngine templateEngine;//spring boot内置的模板引擎,调用thymeleaf
@Test
public void testTextMail(){
mailClient.sendMail("371568309@qq.com","TEST","你好");
}
@Test
public void testHtmlMail(){
//创建内容name--value
Context context = new Context();
context.setVariable("username","219");
//绑定模板和内容
String content = templateEngine.process("/mail/demo", context);
mailClient.sendMail("371568309@qq.com","TEST",content);
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。