Spring Boot實現發送郵件
發送郵件
在web開發中,發送郵件是一個很常用的功能,Spring Boot也集成瞭發送郵件的功能
基本使用
使用Spring Boot的發送郵件功能,需要導入郵件的starter依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
配置郵件發送服務器的配置,如果是qq郵箱,password屬性為郵箱的授權碼
spring: mail: host: smtp.qq.com username: [email protected] password: xxxxxxxx properties: mail.smtp.ssl.enable: true
創建一個簡單郵件對象SimpleMailMessage,設置郵件的主題,內容,發件人和收件人,然後自動註入JavaMailSenderImpl對象,使用這個對象的send方法發送郵件
@SpringBootTest class DemoApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() { SimpleMailMessage message = new SimpleMailMessage(); message.setSubject("測試郵件"); message.setText("這是一封測試郵件"); message.setTo("[email protected]"); message.setFrom("[email protected]"); mailSender.send(message); } }
這樣就可以發送簡單郵件瞭
發送復雜郵件
發送復雜郵件,可以使用發送類的createMimeMessage方法創建一個復雜郵件對象MimeMessage,這個方法還有一個重載方法,可以讀取IO流創建郵件對象
創建一個用於設置郵件的對象MimeMessageHelper,這個對象可以設置多種郵件的常用屬性,這裡以設置附件為例
@SpringBootTest class DemoApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() throws MessagingException { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8"); messageHelper.setSubject("測試復雜郵件"); // 設置帶樣式的正文,使用html的方式設置樣式 messageHelper.setText("<h1>這是一封測試郵件</h1><p style='color:red'>請查收附件</p>",true); // 讀取本地的一個文件,設置郵件的附件 messageHelper.addAttachment("附件1.jpg",new File("1.png")); messageHelper.addAttachment("附件2.jpg",new File("2.png")); messageHelper.setTo("[email protected]"); messageHelper.setFrom("[email protected]"); mailSender.send(message); } }
設置好郵件的屬性,然後用發送類發送郵件,就可以收到復雜郵件
郵件中的附件也可以打開
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- SpringBoot任務之詳解郵件任務
- Springboot實現發送郵件
- Java實現簡單郵件發送功能
- SpringBoot實現郵件發送功能的姿勢分享
- 基於Javamail實現發送郵件(QQ/網易郵件服務器)