java mail 封裝工具類使用

来源:https://www.cnblogs.com/zxy-come-on/archive/2019/05/17/10881403.html
-Advertisement-
Play Games

直接上代碼 配置QQ郵箱的IMAP 進入qq電子郵件點擊 設置->賬戶里開啟 SMTP 服務(開啟IMAP/SMTP服務) 註意:在啟用QQ郵箱的14天之後才能開啟此服務 創建Sendmail 類 導入這兩個jar : public class Sendmail {private static fi ...


直接上代碼

配置QQ郵箱的IMAP

進入qq電子郵件點擊 設置->賬戶里開啟 SMTP 服務(開啟IMAP/SMTP服務) 註意:在啟用QQ郵箱的14天之後才能開啟此服務

創建Sendmail 類 

導入這兩個jar :

public class Sendmail {
private static final Log logger = LogFactory.getLog(Sendmail.class);


public static Map<String,Object> sendTextMail(String strMail, String strTitle, String strText){
Map<String,Object> map = new HashMap<String, Object>();
String sends=null;
Properties prop = new Properties();
// 開啟debug調試,以便在控制台查看
prop.setProperty("mail.debug", "true"); 
// 設置郵件伺服器主機名
prop.setProperty("mail.host", "smtp.qq.com");
// 發送伺服器需要身份驗證
prop.setProperty("mail.smtp.auth", "true");
// 發送郵件協議名稱
prop.setProperty("mail.transport.protocol", "smtp");

// 開啟SSL加密,否則會失敗
try {
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf);

// 創建session
Session session = Session.getInstance(prop);
// 通過session得到transport對象
Transport ts = session.getTransport();
// 連接郵件伺服器:郵箱類型,帳號,授權碼代替密碼(更安全)
ts.connect("smtp.qq.com","****", "mddbpoilzjhidcjh");//後面的字元是授權碼
// 創建郵件
MimeMessage message = new MimeMessage(session);
// 指明郵件的發件人
message.setFrom(new InternetAddress("*****@qq.com"));
// 指明郵件的收件人,現在發件人和收件人是一樣的,那就是自己給自己發
message.setRecipient(Message.RecipientType.TO, new InternetAddress(strMail));
// 郵件的標題
message.setSubject(strTitle);
// 郵件的文本內容
message.setContent("<font style='color:red'>"+strText+"</font>", "text/html;charset=UTF-8");
// 發送郵件
ts.sendMessage(message, message.getAllRecipients());
ts.close();
} catch (Exception e) {
logger.error("發送郵件異常");
return (Map<String, Object>) map.put(sends, "發送郵件異常");
}

return (Map<String, Object>) map.put(sends, "發送郵件成功");
}

/* public static void main(String[] args) {
try {
Sendmail.sendTextMail("****@163.com","日誌容量告警","測試郵件發送");
} catch (Exception e) {
// TODO: handle exception
}

}*/
}

 

 

 

 

 

代碼調用工具類的方法為:

try {

        //發送人的郵箱,   郵件標題,郵件內容
Sendmail.sendTextMail("***@163.com","日誌容量告警","終於解決了");
} catch (Exception e) {
e.printStackTrace();
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 隨著製造工業的不斷發展,儲存介質逐漸廉價化,以某貓和某狗為代表的電商平臺上都能輕鬆買到大容量的原裝移動硬碟。如果工廠的產品還不能滿足你的要求,那麼DIY是一個不錯的選擇,可以選擇購買移動硬碟盒(2.5寸/3.5寸,SATA/IDE介面,500G/1T/2T)及配套的硬碟,這一整套的價格跟工廠原裝的移 ...
  • 一行命令殺掉defun進程 今天在殺掉defunc過程中一直搞不完,索性寫一行命令,註意先看懂謹慎使用 ` ps ef|grep defun|awk '{print " ps ef|egrep \47"$2"|"$3"\47"}'|sh|sort r|awk '{print "kill 9 "$2} ...
  • Hexedit軟體介紹: hexedit是一個開源的完全免費的命令行軟體,可用於在任何GNU / Linux操作系統下以十六進位和ASCII(美國信息交換標準代碼)格式查看和編輯文件。 下載: 在softpedia網站上找到Linux下hexedit的安裝包:有32位和64位的,我用的是32位 直接 ...
  • 首先在命令行模式下輸入代碼: 創建c文件 如果發現vim沒有被安裝的話,輸入以下代碼對vim進行安裝: 安裝完畢之後再輸入第一行代碼,之後進入程式編譯界面,輸入我們需要的程式,例如: 然後按下鍵盤Esc,再輸入wq: 這樣剛剛寫下的代碼就被保存好了,並且我們可以發現剛剛寫下的代碼絕對是代碼高亮的,看 ...
  • ls 命令:• ls 是英文單詞 list 的簡寫,其功能為列出目錄的內容,是用戶最常用的命令之一,類似於 DOS 下的 dir 命令 ls命令之後加各種參數的作用: 顯示指定目錄下所有子目錄與文件,包括隱藏文件 以列表方式顯示文件的詳細信息 配合 -l 以人性化的方式顯示文件大小 ...
  • 最近弄docker煩躁的一筆,時區問題踩了不少坑,為了以後再遇到類似問題再花時間查資料,特記錄一下。。。 Ubuntu: centos7 ...
  • Mysql5.7.6+ 安裝手冊 linux server版本 1.下載 http://dev.mysql.com/downloads/mysql/#downloads 2. 檢查庫文件是否存在,如有刪除 檢查:rpm -qa | grep mysql 刪除: rpm -e mysql-libs-5 ...
  • linux 命令有很多,常用的很少。 #######################系統相關############################ lsb_release -a 查看系統信息 cat /etc/redhat-release 查看系統信息 uname -r 查看系統內核版本 getc ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...