- 引入依赖包
compile 'org.springframework.boot:spring-boot-starter-mail'
- 确保邮箱已经开启了smtp服务
- 需要配置以下选项
- 带ssl的配置方法
spring.mail.protocol=smtp //使用的协议 spring.mail.host=smtp.sina.com //邮箱服务器 spring.mail.username=XXXX@sina.com //邮箱登录名 spring.mail.password=XXXXX //邮箱登录密码 spring.mail.smtp.timeout=25000 spring.mail.from=XXXX@sina.com //邮件发送人 spring.mail.port=465 //smtp端口 这个需要查阅邮箱服务器提供的端口一般是465 spring.mail.defaultEncoding=UTF-8 spring.mail.properties.mail.smtp.starttls.enable=true //是否使用ssl spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory // 这个视情况而定 有些邮箱服务器ssl需要设置这个 有些服务器不需要设置 这里统一都加上
- 不带ssl的配置方法
spring.mail.protocol=smtp //使用的协议 spring.mail.host=smtp.sina.com //邮箱服务器 spring.mail.username=XXXX@sina.com //邮箱登录名 spring.mail.password=XXXXX //邮箱登录密码 spring.mail.smtp.timeout=25000 spring.mail.from=XXXX@sina.com //邮件发送人 spring.mail.port=25 //smtp端口 这个需要查阅邮箱服务器提供的端口一般是25 spring.mail.defaultEncoding=UTF-8
- 发送邮件
@Resource private JavaMailSender javaMailSender; @PostMapping("/sendMail") public ResponseEntity sendMail(){ try { //创建html类型的邮件 MimeMessage mailMessage = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true,"utf-8"); /** * 设置发送人 必填 */ messageHelper.setFrom("XXX@sina.com"); //设置接收人 messageHelper.setTo(new String[]{"XXXX@qq.com"}); //设置邮件内容 可以是html或者是普通文本 messageHelper.setText("333333333",true); //设置抄送 // messageHelper.setCc("XXXX@qq.com"); //设置邮件标题 messageHelper.setSubject("你好"); javaMailSender.send(mailMessage); } catch (MessagingException e) { e.printStackTrace(); } return ResponseEntity.ok().build(); }
网友评论