Spring Boot實現(xiàn)發(fā)送郵件
在web開發(fā)中,發(fā)送郵件是一個很常用的功能,Spring Boot也集成了發(fā)送郵件的功能
基本使用使用Spring Boot的發(fā)送郵件功能,需要導入郵件的starter依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>
配置郵件發(fā)送服務器的配置,如果是qq郵箱,password屬性為郵箱的授權碼
spring: mail: host: smtp.qq.com username: 425017255@qq.com password: xxxxxxxx properties: mail.smtp.ssl.enable: true
創(chuàng)建一個簡單郵件對象SimpleMailMessage,設置郵件的主題,內(nèi)容,發(fā)件人和收件人,然后自動注入JavaMailSenderImpl對象,使用這個對象的send方法發(fā)送郵件
@SpringBootTestclass DemoApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() {SimpleMailMessage message = new SimpleMailMessage();message.setSubject('測試郵件');message.setText('這是一封測試郵件');message.setTo('blackball1998@outlook.com');message.setFrom('425017255@qq.com');mailSender.send(message); }}
這樣就可以發(fā)送簡單郵件了
發(fā)送復雜郵件,可以使用發(fā)送類的createMimeMessage方法創(chuàng)建一個復雜郵件對象MimeMessage,這個方法還有一個重載方法,可以讀取IO流創(chuàng)建郵件對象
創(chuàng)建一個用于設置郵件的對象MimeMessageHelper,這個對象可以設置多種郵件的常用屬性,這里以設置附件為例
@SpringBootTestclass 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('blackball1998@outlook.com');messageHelper.setFrom('425017255@qq.com');mailSender.send(message); }}
設置好郵件的屬性,然后用發(fā)送類發(fā)送郵件,就可以收到復雜郵件
郵件中的附件也可以打開
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. python如何換行輸出2. Python使用urlretrieve實現(xiàn)直接遠程下載圖片的示例代碼3. Python:UserWarning:此模式具有匹配組。要實際獲得組,請使用str.extract4. Android Studio中一套代碼多渠道打包的實現(xiàn)方法5. 詳解java google Thumbnails 圖片處理6. python如何計算圓的面積7. Java使用Tesseract-Ocr識別數(shù)字8. Android打包篇:Android Studio將代碼打包成jar包教程9. Java 接口和抽象類的區(qū)別詳解10. 解決Android Studio 格式化 Format代碼快捷鍵問題
