赞
踩
我这里使用qq邮箱和企业qq邮箱做演示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
1).企业邮箱
spring: mail: # 配置 SMTP 服务器地址 host: smtp.exmail.qq.com # 发送者邮箱账号 username: 企业邮箱账号 # 配置企业邮箱的密码(这里是密码) password: 企业邮箱密码 # 端口号发送465 port: 465 # 默认的邮件编码为UTF-8 # 配置SSL 加密工厂 default-encoding: UTF-8 properties: mail: smtp: ssl: enable: true auth: true starttles: enable: true required: true
2).qq邮箱
(1).获取授权码,一步步来获取授权码
(2).配置属性文件
spring: mail: # 配置 SMTP 服务器地址 host: smtp.qq.com # 发送者邮箱 username: qq邮箱账号 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码 password: qq邮箱授权码 # 端口号587 port: 587 # 默认的邮件编码为UTF-8 # 配置SSL 加密工厂 default-encoding: UTF-8 properties: mail: smtp: ssl: enable: true auth: true starttles: enable: true required: true
public class ToEmail implements Serializable { /** * 邮件接收方,可多人 */ private String[] tos; /** * 邮件主题 */ private String subject; /** * 邮件内容 */ private String content; public String[] getTos() { return tos; } public void setTos(String[] tos) { this.tos = tos; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }
/** * 发送邮件 */ @RestController @RequestMapping("/web/mail") public class SendMessageCtrl { @Value("${spring.mail.username}") private String emailUser; @Autowired private JavaMailSender mailSender; /** * 普通邮件发送 */ @RequestMapping(value = "/send", method = RequestMethod.POST) public WebResponse sendCommonEmail(@RequestBody ToEmail toEmail) { //创建简单邮件消息 SimpleMailMessage message = new SimpleMailMessage(); //谁发的 message.setFrom(emailUser); //谁要接收 message.setTo(toEmail.getTos()); //邮件标题 message.setSubject(toEmail.getSubject()); //邮件内容 message.setText(toEmail.getContent()); try { mailSender.send(message); } catch (MailException e) { e.printStackTrace(); } return new WebResponse("邮件已发送:"+toEmail.toString()); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。