這篇文章將為大家詳細講解有關怎么在spring中使用maven實現一個郵件發送功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
編碼實現發送郵件
1、首先我們需要一個Spring框架的環境
2、發送郵件需要的核心依賴包: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發送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格式的郵件內容
*/
public static void sendFileMail(String subject, String content) {
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
// 設置自己登陸email的服務商提供的host
senderImpl.setHost("smtp.126.com");
// 設置自己登陸郵箱賬號
senderImpl.setUsername("test@126.com");
// 郵箱密碼
senderImpl.setPassword("******");
try {
// 建立HTML郵件消息
MimeMessage mailMessage = senderImpl.createMimeMessage();
// true表示開始附件模式.如果郵件不需要附件設置成false即可
MimeMessageHelper messageHelper = new MimeMessageHelper(
mailMessage, true, "utf-8");
// 設置收信人的email地址
messageHelper.setTo("111@qq.com");
// 設置寄信人的email地址{與上面登陸的郵件一致}
messageHelper.setFrom("test@126.com");
// 設置郵件發送內容的主題
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);
// 添加附件二
// 附件名有中文可能出現亂碼
messageHelper
.addAttachment(MimeUtility.encodeWord("測試.txt"), file2);
// 如不需要附件,這里可以省略------------------------------------------END
// 發送郵件
senderImpl.send(mailMessage);
log.info("Email Send Success!");
} catch (Exception e) {
log.error("Email Send Error!" + e.getMessage());
}
}
public static void main(String[] agrs) {
// 注意測試需要修改您自己的郵件服務商host,登陸郵件用戶,郵件密碼,附件,收信人地址
sendFileMail("測試郵件", "<H1>測試郵件標題</H1>");
}
}關于怎么在spring中使用maven實現一個郵件發送功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。