邮件服务在开发中非常常见,比如用邮件注册账号、邮件作为找回密码的途径、用于订阅内容定期邮件推送等等,下面就简单的介绍下邮件实现方式。
一个用于发送的邮箱,本文是用腾讯的域名邮箱,可以自己搞一个域名绑定下,登录地址: http://domain.mail.qq.com
<!-- 启用邮箱 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
spring.mail.host=smtp.qq.com spring.mail.username=zwqh@clover1314.com spring.mail.password=***** spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true
@Service public class MailTool { @Value("${spring.mail.username}") private String from; @Autowired private JavaMailSender mailSender; /** * 发送邮件 * * @return */ public boolean send() { try { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(from);//发送者 message.setTo("zwqh@clover1314.com");//接受者 message.setCc("sohuniuer@sina.com");// 抄送 message.setSubject("邮件主题"); //邮件主题 message.setText("这里是邮件内容");//邮件内容 mailSender.send(message); System.out.println("邮件发送成功"); return true; } catch (Exception e) { e.printStackTrace(); return false; } } /** * 发送富文本邮件 * * @return */ public boolean sendHtml() { // 使用 JavaMail 的 MimeMessage,支持更多复杂的邮件格式和内容 MimeMessage mimeMessage = mailSender.createMimeMessage(); try { // 创建 MimeMessageHelper 对象,处理 MimeMessage 辅助类 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); // 使用辅助类 MimeMessage 设定参数 helper.setFrom(from); helper.setTo("zwqh@clover1314.com"); helper.setBcc("sohuniuer@sina.com");//密送 helper.setSubject("富文本邮件主题"); helper.setText("<h1>这是富文本邮件内容标题</h1><p style='color:red;'>这里是段落一</p><p style='color:orange;'>这里是段落二</p>", true); mailSender.send(mimeMessage); System.out.println("邮件发送成功"); return true; } catch (MessagingException e) { e.printStackTrace(); return false; } } /** * 发送富文本带附件的邮件 * @return */ public boolean sendHtmlWithAttach() { // 使用 JavaMail 的 MimeMessage,支持更多复杂的邮件格式和内容 MimeMessage mimeMessage = mailSender.createMimeMessage(); try { // 创建 MimeMessageHelper 对象,处理 MimeMessage 辅助类 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setFrom(from); helper.setTo("zwqh@clover1314.com"); helper.setSubject("富文本带附件的邮件主题"); helper.setText("<h1>这是富文本邮件内容标题</h1><p style='color:red;'>这里是段落一</p><p style='color:orange;'>这里是段落二</p>", true); //加载文件资源作为附件 ClassPathResource file=new ClassPathResource("static/avatar2.jpg"); //添加附件,并重命名 helper.addAttachment("附件.jpg", file); mailSender.send(mimeMessage); System.out.println("邮件发送成功"); return true; } catch (MessagingException e) { e.printStackTrace(); return false; } } }
@RestController public class MailController { @Autowired private MailTool mailTool; @RequestMapping("/send") public String send() { mailTool.send(); return "send success"; } @RequestMapping("/sendHtml") public String sendHtml() { mailTool.sendHtml(); return "sendHtml success"; } @RequestMapping("/sendHtmlWithAttach") public String sendHtmlWithAttach() { mailTool.sendHtmlWithAttach(); return "sendHtmlWithAttach success"; } }
github
码云
非特殊说明,本文版权归 朝雾轻寒 所有,转载请注明出处.
原文标题:Spring Boot 2.X(十三):邮件服务
原文地址: https://www.zwqh.top/article/info/22
如果文章对您有帮助,请扫码关注下我的公众号,文章持续更新中...