中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java工具類SendEmailUtil實現發送郵件

發布時間:2020-10-07 21:59:34 來源:腳本之家 閱讀:401 作者:Elk_love_madness 欄目:編程語言

本文實例為大家分享了java實現發送郵件的工具類,供大家參考,具體內容如下

SendEmailUtil

<dependency>
 <groupId>javax.mail</groupId>
 <artifactId>mail</artifactId>
 <version>1.4.5</version>
</dependency>
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import com.sun.mail.util.MailSSLSocketFactory;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
 
public class SendmailUtil {
 
 //郵件服務器主機名
 // QQ郵箱的 SMTP 服務器地址為: smtp.qq.com
 private static String myEmailSMTPHost = "smtp.qq.com";
 
 //發件人郵箱
 private static String myEmailAccount = "xxxxxxxxxx@xx.com";
 
 //發件人郵箱密碼(授權碼)
 //在開啟SMTP服務時會獲取到一個授權碼,把授權碼填在這里
 private static String myEmailPassword = "xxxxxxxxxxxx";
 
 /**
  * 郵件單發(自由編輯短信,并發送,適用于私信)
  *
  * @param toEmailAddress 收件箱地址
  * @param emailTitle 郵件主題
  * @param emailContent 郵件內容
  * @throws Exception
  */
 public static void sendEmail(String toEmailAddress, String emailTitle, String emailContent) throws Exception{
    
  Properties props = new Properties();
   
  // 開啟debug調試
  props.setProperty("mail.debug", "true");
     
  // 發送服務器需要身份驗證
  props.setProperty("mail.smtp.auth", "true");
   
  // 端口號
  props.put("mail.smtp.port", 465);
   
  // 設置郵件服務器主機名
  props.setProperty("mail.smtp.host", myEmailSMTPHost);
   
  // 發送郵件協議名稱
  props.setProperty("mail.transport.protocol", "smtp");
   
  /**SSL認證,注意騰訊郵箱是基于SSL加密的,所以需要開啟才可以使用**/
  MailSSLSocketFactory sf = new MailSSLSocketFactory();
  sf.setTrustAllHosts(true);
   
  //設置是否使用ssl安全連接(一般都使用)
  props.put("mail.smtp.ssl.enable", "true");
  props.put("mail.smtp.ssl.socketFactory", sf);
   
  //創建會話
  Session session = Session.getInstance(props);
   
  //獲取郵件對象
  //發送的消息,基于觀察者模式進行設計的
  Message msg = new MimeMessage(session);
   
  //設置郵件標題
  msg.setSubject(emailTitle);
   
  //設置郵件內容
  //使用StringBuilder,因為StringBuilder加載速度會比String快,而且線程安全性也不錯
  StringBuilder builder = new StringBuilder();
   
  //寫入內容
  builder.append("\n" + emailContent);
   
  //寫入我的官網
  builder.append("\n官網:" + "https://www.hbuecx.club");
   
  //定義要輸出日期字符串的格式
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   
  //在內容后加入郵件發送的時間
  builder.append("\n時間:" + sdf.format(new Date()));
   
  //設置顯示的發件時間
  msg.setSentDate(new Date());
   
  //設置郵件內容
  msg.setText(builder.toString());
   
  //設置發件人郵箱
  // InternetAddress 的三個參數分別為: 發件人郵箱, 顯示的昵稱(只用于顯示, 沒有特別的要求), 昵稱的字符集編碼
  msg.setFrom(new InternetAddress(myEmailAccount,"你好!", "UTF-8"));
   
  //得到郵差對象
  Transport transport = session.getTransport();
   
  //連接自己的郵箱賬戶
  //密碼不是自己QQ郵箱的密碼,而是在開啟SMTP服務時所獲取到的授權碼
  //connect(host, user, password)
  transport.connect( myEmailSMTPHost, myEmailAccount, myEmailPassword);
   
  //發送郵件
  transport.sendMessage(msg, new Address[] { new InternetAddress(toEmailAddress) });
   
  //將該郵件保存到本地
  OutputStream out = new FileOutputStream("MyEmail.eml");
  msg.writeTo(out);
  out.flush();
  out.close();
 
  transport.close();
 }
}
//toEmailAddress 目標郵箱地址
//emailTitle 郵件標題
//emailContent 郵件內容 
SendmailUtil.sendEmail(toEmailAddress, emailTitle, emailContent);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

内江市| 林甸县| 无棣县| 平罗县| 绥宁县| 同德县| 澎湖县| 讷河市| 台北县| 郴州市| 额济纳旗| 应用必备| 缙云县| 永州市| 苏尼特右旗| 昌都县| 连南| 湛江市| 肃北| 温泉县| 阳朔县| 玛纳斯县| 来凤县| 潞西市| 四川省| 乐东| 都江堰市| 海南省| 松江区| 科技| 广昌县| 桐乡市| 金塔县| 泸定县| 东台市| 静宁县| 远安县| 基隆市| 资源县| 托克逊县| 明光市|