spring+maven實現(xiàn)發(fā)送郵件功能
前言
Java編程中發(fā)郵件也是常用的。但是原生的jdk自帶的發(fā)送郵件用起來還是比較麻煩的。spring框架在Java語言中完全是神一樣的存在,通過spring框架的郵件工具來發(fā)送郵件就非常方便了,本文就主要講解了Java編程中利用spring提供的郵件工具來發(fā)送郵件。
編碼實現(xiàn)發(fā)送郵件
1、首先我們需要一個Spring框架的環(huán)境
2、發(fā)送郵件需要的核心依賴包:spring-context-supportXXX.jar、activation-1.1.jar、javax.mail-1.5.2.jar
3、導入以上核心包到項目中
maven依賴配置如下:
<!-- mail and spring-context-support for send email --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.2</version> </dependency> <!-- /email -->
4、導入了上面的依賴我們就開始編寫一個簡單的email發(fā)送sample
package service; import java.io.File; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; public class EmailSample { /** 日志 **/ private static final Log log = LogFactory.getLog(EmailSample.class); /** * 郵件測試工具類 * * @param subject * 郵件主題 * @param content * HTML格式的郵件內(nèi)容 */ public static void sendFileMail(String subject, String content) { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); // 設(shè)置自己登陸email的服務(wù)商提供的host senderImpl.setHost("smtp.126.com"); // 設(shè)置自己登陸郵箱賬號 senderImpl.setUsername("test@126.com"); // 郵箱密碼 senderImpl.setPassword("******"); try { // 建立HTML郵件消息 MimeMessage mailMessage = senderImpl.createMimeMessage(); // true表示開始附件模式.如果郵件不需要附件設(shè)置成false即可 MimeMessageHelper messageHelper = new MimeMessageHelper( mailMessage, true, "utf-8"); // 設(shè)置收信人的email地址 messageHelper.setTo("111@qq.com"); // 設(shè)置寄信人的email地址{與上面登陸的郵件一致} messageHelper.setFrom("test@126.com"); // 設(shè)置郵件發(fā)送內(nèi)容的主題 messageHelper.setSubject(subject); // true 表示啟動HTML格式的郵件 messageHelper.setText("<html><title>這是一封郵件</title><body>" + content + "</body></html>", true); // 如不需要附件,這里可以省略---------------------------------------START // 讀取附件一 FileSystemResource file1 = new FileSystemResource(new File( "e:/test.jpg")); // 讀取附件二 FileSystemResource file2 = new FileSystemResource(new File( "e:/測試.txt")); // 添加附件一 messageHelper.addAttachment("test.jpg", file1); // 添加附件二 // 附件名有中文可能出現(xiàn)亂碼 messageHelper .addAttachment(MimeUtility.encodeWord("測試.txt"), file2); // 如不需要附件,這里可以省略------------------------------------------END // 發(fā)送郵件 senderImpl.send(mailMessage); log.info("Email Send Success!"); } catch (Exception e) { log.error("Email Send Error!" + e.getMessage()); } } public static void main(String[] agrs) { // 注意測試需要修改您自己的郵件服務(wù)商host,登陸郵件用戶,郵件密碼,附件,收信人地址 sendFileMail("測試郵件", "<H1>測試郵件標題</H1>"); } }
【注意事項】:運行main方法測試時候修改參數(shù):服務(wù)商host、登陸用戶、登陸密碼、收信人地址、附件(不用附件可省略)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Spring學習筆記3之消息隊列(rabbitmq)發(fā)送郵件功能
- springMVC發(fā)送郵件的簡單實現(xiàn)
- Spring框架JavaMailSender發(fā)送郵件工具類詳解
- Java的Spring框架中實現(xiàn)發(fā)送郵件功能的核心代碼示例
- Spring Boot實戰(zhàn)之發(fā)送郵件示例代碼
- Spring Boot中利用JavaMailSender發(fā)送郵件的方法示例(附源碼)
- Spring+quartz實現(xiàn)定時發(fā)送郵件功能實例
- SpringBoot使用FreeMarker模板發(fā)送郵件
- spring mail借助qq郵箱服務(wù)器發(fā)送郵件
- SpringBoot實現(xiàn)發(fā)送郵件任務(wù)
相關(guān)文章
用Java代碼實現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)的基本方法歸納
這篇文章主要介紹了用Java代碼實現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)的基本方法歸納,各種算法的實現(xiàn)也是ACM上經(jīng)常出現(xiàn)的題目,是計算機學習的基本功,需要的朋友可以參考下2015-08-08Java class文件格式之常量池_動力節(jié)點Java學院整理
這篇文章主要為大家詳細介紹了Java class文件格式之常量池的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06Springboot之restTemplate的配置及使用方式
這篇文章主要介紹了Springboot之restTemplate的配置及使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10Java實現(xiàn)ATM銀行管理系統(tǒng)(控制臺版本)
這篇文章主要為大家詳細介紹了如何利用Java語言實現(xiàn)控制臺版本的ATM銀行管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06