郵件服務在開發中很是常見,好比用郵件註冊帳號、郵件做爲找回密碼的途徑、用於訂閱內容按期郵件推送等等,下面就簡單的介紹下郵件實現方式。git
一個用於發送的郵箱,本文是用騰訊的域名郵箱,能夠本身搞一個域名綁定下,登陸地址:http://domain.mail.qq.comgithub
<!-- 啓用郵箱 --> <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"; } }
githubspring
碼雲app
非特殊說明,本文版權歸 朝霧輕寒 全部,轉載請註明出處.dom
原文標題:Spring Boot 2.X(十三):郵件服務spring-boot
原文地址: https://www.zwqh.top/article/info/22測試
若是文章對您有幫助,請掃碼關注下個人公衆號,文章持續更新中...ui