天天進步一點點,距離大腿又近一步!閱讀本文大概須要5分鐘css
JavaMail發送郵件,簡單實用,瞭解一下唄~
以QQ郵箱爲例html
maven依賴java
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version></dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1</version> </dependency>
Email工具類面試
public class EmailUtil { // 發件人電子郵箱 private static String from = "XXXXXXX@qq.com"; // 指定發送郵件的服務器 private static String host = "smtp.qq.com"; // 獲取系統屬性 private static Properties properties = System.getProperties(); private static MimeMessage message; static { // 設置郵件服務器 properties.setProperty("mail.smtp.host", host); //設置郵件服務器端口號(默認爲25) properties.setProperty("mail.smtp.port", "587"); // 是否用戶認證 properties.put("mail.smtp.auth", "true"); // 獲取默認session對象 Session session = Session.getDefaultInstance(properties,new Authenticator(){ public PasswordAuthentication getPasswordAuthentication() { //發件人郵件用戶名、密碼(有些可直接使用登陸密碼, //而QQ郵箱須要使用第三方受權碼,這個須要根據郵箱判斷) return new PasswordAuthentication("XXXXXXX@qq.com", "XXXXXXX"); } }); try{ // 建立默認的 MimeMessage 對象 message = new MimeMessage(session); // Set From: 頭部頭字段 message.setFrom(new InternetAddress(from)); }catch (MessagingException mex) { mex.printStackTrace(); } } static public void sendEmail(String toUser,String ccUser,String headTitle,String htmlContent){ try { //使用的單例模式,發送過郵件後,message中收件人,抄送人等信息不會被清空,需手動清空 //清空收件人 message.removeHeader(Message.RecipientType.TO.toString()); //添加多個收件人 message.addRecipients(Message.RecipientType.TO, new InternetAddress().parse(toUser)); //清空抄送人 message.removeHeader(Message.RecipientType.CC.toString()); //添加多個抄送人 message.setRecipients(Message.RecipientType.CC, new InternetAddress().parse(ccUser)); // 設置標題 message.setSubject(headTitle); // 設置純文本內容 //message.setText("測試文本", "utf-8"); // 設置html格式內容 message.setText(htmlContent, "utf-8", "html"); // 發送消息 Transport.send(message); System.out.println("----------------Sent Email successfully------------"); } catch (AddressException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } static public String createHtmlContent(){ return "<html lang='en' style='margin: 0; padding: 0; font-family: Helvetica Neue, Microsoft Yahei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif; font-size: 14px; text-align: center; word-break: normal; font-weight: normal;'>" + "<head>" + "<style type='text/css'>body {border-width:0;margin:0}img {border:0;margin:0;padding:0}</style><base target='_blank' />" + "</head>" + "<p>尊敬的xxx用戶:</p>" + "<p>您好!</p>" + "<p>您有一個審批工單待處理,可<b>點擊工單號</b>跳轉進入系統</p>" + "<table border='3' cellpadding='3'>" + "<tr><th>工單號</th><th>工單狀態</th><th>工單類型</th><th>申請日期</th><th>申請人</th><th>建立時間</th>" + "</tr>" + "<tr><td><a href='http://192.168.60.160:8888/PMIS/ticketManageDetail/123'>GD12345</a></td><td>待審批</td>" + "<td>保障工單</td><td></td><td>2018-07-60</td><td>張三</td><td>2018-07-6 21:56:00</td>" + "</tr>" + "</table>" + "<p style='color:gray;font-size:12px;'>若未登陸系統,請登陸系統後,從新點擊工單號進入工單詳情頁面</p>" + "<p style='font-family: Helvetica Neue, Microsoft Yahei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif; text-align: center; word-break: normal; font-weight: normal; display: block; max-width: 540px; margin: 20px auto 0; padding: 0 5px; color: #bdbdbd; font-size: 12px; line-height: 22px;'>郵件來自【XXX系統】自動提醒,無需回覆。<br style='margin: 0; padding: 0; font-family: Helvetica Neue, Microsoft Yahei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif; font-size: 14px; text-align: center; word-break: normal; font-weight: normal;'></p>" + "</html>"; } public static void main(String[] args){ sendEmail("XXXXXXX@qq.com","XXXXXXX@qq.com,XXXXXXX@qq.com","標題:xxx",createHtmlContent()); }
重磅好消息:小編考慮到同窗們對學習資源的迫切需求,近期將整理出學習視頻庫和電子書庫,你想要的資源全在這裏,該資源永久有效,不斷更新,敬請期待!shell
你若對某方向的資源迫切須要,可添加小編微信【381793016】,備註【資源:XXX】,小編將重點整理!服務器
熱門閱讀:微信
java面試| 精選基礎題(1)session
java面試|精選基礎題(2)maven
**歡迎關注微信「java從心」
一個立志成大腿而天天努力奮鬥的年輕人
期待你的到來!**
若是以爲文章不錯,請點個贊、分享給你的朋友唄!