springboot-利用exmail服务器发送邮件

参考:https://github.com/wupeixuan/SpringBoot-Learn/tree/master/mail


开启smtp服务

进入邮箱 → 邮箱设置 → 客户端设置
在这里插入图片描述

application.yml

注意 protocol 那里要写smtps,而不是smtp

spring:
  mail:
    protocol: smtps
    host: smtp.exmail.qq.com
    port: 465
    username: 你的邮箱地址
    password: 你的密码
    test-connection: false
    properties:
      mail:
        smtp:
          auth: false
        debug: false
        mime:
          splitlongparameters: false
    default-encoding: UTF-8

pom.xml

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

service

用@Value取得yml里的发信地址。

import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
...
	@Resource
	private JavaMailSender javaMailSender;
	
	@Value("${spring.mail.username}")
	private String sender;
	
	public void sendSimpleMail(String from, String to, String subject, String text) {
    
    
		 SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
		 // 发件人
		 simpleMailMessage.setFrom(from);
		 // 收件人
		 simpleMailMessage.setTo(to);
		 // 邮件主题
		 simpleMailMessage.setSubject(subject);
		 // 邮件内容
		 simpleMailMessage.setText(text);
		 javaMailSender.send(simpleMailMessage);
	}

然后在controller里使用就好了!

猜你喜欢

转载自blog.csdn.net/pxy7896/article/details/120078268
今日推荐