最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java發(fā)送郵件javax.mail的實(shí)現(xiàn)方法

 更新時(shí)間:2016年01月26日 09:09:57   投稿:lijiao  
這篇文章主要為大家介紹了Java發(fā)送郵件javax.mail的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,代碼都有詳細(xì)的注釋,感興趣的小伙伴們可以參考一下

直接上源碼:
1. 郵件的基本信息(方便就直接設(shè)置為靜態(tài)了)
下面最好是做為一個(gè)javabean

package com.lgf.Email; 
 
import java.util.Date; 
 
public class EmailMessage  
{ 
  /** 
   * 郵件的信息,可以自己進(jìn)行設(shè)置。 
   * 為了方便直接全部設(shè)置為靜態(tài) 
   */ 
   
// 收件人郵箱 
  public static String TO = "xxx@xxx.com";   
// 發(fā)件人郵箱 
  public static String FROM = "xxx@xxx.com";  
  public static String FROM_NAME = "xxx";  
//  抄送人   
  public static String CC="xxx@nxxx.com";   
//  暗送人 
  public static String BCC="xxx@nxxx.com";     
// 郵件的類型 
  public static String Email_Content = "text/plain"; 
// 郵件標(biāo)題 
  public static String Email_Subject = "Test Email With JavaMail";   
// 郵件頭 
  public static String Email_Header = "This Is Email Header";   
// 內(nèi)容 
  public static String Email_Body = "<a href=\"http://www.baidu.com\">This Is Email Body</a>";  
// 服務(wù)器 比如QQ的可以設(shè)置為smtp.qq.com 
  public static String Email_Host = "smtp.xxx.com";      
// 發(fā)送時(shí)間 
  public static Date sendDate = new Date();  
// 是否需要驗(yàn)證用戶名和密碼 
  public static boolean validate = true;    
}
 

2. 服務(wù)器驗(yàn)證(就是一般登入時(shí)候的用戶名和密碼)

package com.lgf.Email; 
 
import javax.mail.Authenticator; 
import javax.mail.PasswordAuthentication; 
 
/** 
 * 用戶名和密碼的驗(yàn)證 
 * @author lgf 
 * 
 */ 
public class MailAuthenticator extends Authenticator{ 
  private String username="xxxxx";   
  private String password="xxxxx";   
   
  public MailAuthenticator() { 
    super(); 
  } 
   
  /** 
   * 設(shè)置驗(yàn)證的用戶名和密碼 
   */ 
  public MailAuthenticator(String userName , String password) { 
    super(); 
    this.username = userName; 
    this.password = password; 
  } 
  protected PasswordAuthentication getPasswordAuthentication() 
  {   
    return new PasswordAuthentication(this.username,this.password);   
  }   
} 

 3. 發(fā)送郵件前設(shè)置信息和步驟

package com.lgf.Email; 
 
import java.util.Properties; 
 
import javax.activation.DataHandler; 
import javax.activation.DataSource; 
import javax.activation.FileDataSource; 
import javax.mail.Address; 
import javax.mail.Authenticator; 
import javax.mail.BodyPart; 
import javax.mail.Message; 
import javax.mail.Multipart; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeBodyPart; 
import javax.mail.internet.MimeMessage; 
import javax.mail.internet.MimeMultipart; 
 
import com.lgf.SendEmail.MailAuthenticator; 
 
public class SendEmail  
{ 
   
  /**  
  * 發(fā)送普通郵件  
  * @throws Exception  
  */   
  public void doSendNormalMail()  
  {   
//    獲取系統(tǒng)環(huán)境  
    Properties prop = new Properties();  
    Authenticator auth = null; 
//   判斷發(fā)送郵件是否需要驗(yàn)證 
    if (EmailMessage.validate)  
    { 
//      郵件服務(wù)器認(rèn)證  用戶名和密碼 
      auth = new MailAuthenticator();  
    } 
//   添加必要的信息 
    prop.put("mail.smtp.host", EmailMessage.Email_Host);   
    prop.put("mail.smtp.auth", "true");   
     
//    設(shè)置對話和郵件服務(wù)器進(jìn)行通訊 
    Session session = Session.getDefaultInstance(prop, auth);   
//   在控制臺(tái)顯示Debug信息 
    session.setDebug(true); 
//   設(shè)置郵件對象 
    Message message = new MimeMessage(session);   
    try  
    {   
//      設(shè)置郵件主題  
      message.setSubject(EmailMessage.Email_Subject);   
//      設(shè)置郵件標(biāo)題   
      message.setHeader("Header", EmailMessage.Email_Header);  
//      設(shè)置發(fā)送時(shí)間   
      message.setSentDate(EmailMessage.sendDate); 
       
//      設(shè)置發(fā)信人地址 和 名字 
      Address address = new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);   
//     把發(fā)件人信息添加到信息中 
      message.setFrom(address);   
       
//     設(shè)置發(fā)件人地址 
      Address toAddress = new InternetAddress(EmailMessage.TO);  
//      設(shè)置接收人地址 
      message.setRecipient(Message.RecipientType.TO, toAddress);   
      
//     設(shè)置多個(gè)收件人地址   
//     message.addRecipient(Message.RecipientType.TO,new InternetAddress("xxx@xxx.com"));   
 
//      設(shè)置郵件格式 
      message.setContent("Content", EmailMessage.Email_Content);  
//      設(shè)置郵件內(nèi)容  必須在設(shè)置文件格式后面 
      message.setText(EmailMessage.Email_Body);  
       
//     保存上面添加的信息 
      message.saveChanges();   
//      發(fā)送郵件  
      System.out.println("sendNormalEmail() 開始發(fā)送郵件……");   
      Transport.send(message);   
      System.out.println("發(fā)送成功!");   
    } catch (Exception e) 
    {   
        System.out.println("出錯(cuò)");   
        e.printStackTrace();   
    }   
  }   
   
  /** 
   * 發(fā)送HTML格式的郵件 
   */ 
  public void doSendHtmlMail()  
  {   
//    獲取系統(tǒng)環(huán)境  
    Properties prop = new Properties();  
 
    Authenticator auth = null; 
    if (EmailMessage.validate) 
    { 
//      郵件服務(wù)器認(rèn)證  用戶名和密碼 
      auth = new MailAuthenticator(); 
    } 
//   添加必要的信息 
    prop.put("mail.smtp.host", EmailMessage.Email_Host);   
    prop.put("mail.smtp.auth", "true");   
     
//    設(shè)置對話和郵件服務(wù)器進(jìn)行通訊 
    Session session = Session.getDefaultInstance(prop, auth);   
     
//   設(shè)置郵件對象 
    Message message = new MimeMessage(session);   
    try  
    {   
//      設(shè)置郵件主題  
      message.setSubject(EmailMessage.Email_Subject);   
//      設(shè)置郵件標(biāo)題   
      message.setHeader("Header", EmailMessage.Email_Header);  
//      設(shè)置發(fā)送時(shí)間   
      message.setSentDate(EmailMessage.sendDate); 
       
//      設(shè)置發(fā)信人地址 和 名字 
      Address address = new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);   
//     把發(fā)件人信息添加到信息中 
      message.setFrom(address);   
       
//     設(shè)置發(fā)件人地址 
      Address toAddress = new InternetAddress(EmailMessage.TO);  
//      設(shè)置接收人地址 
      message.setRecipient(Message.RecipientType.TO, toAddress);   
      
//     設(shè)置多個(gè)收件人地址   
//     message.addRecipient(Message.RecipientType.TO,new InternetAddress("xxx@xxx.com"));   
 
//     設(shè)置發(fā)送信息的內(nèi)容  下面為發(fā)送hmml 
//     設(shè)置郵件格式 
      EmailMessage.Email_Content = "text/html; charset=utf-8"; 
      message.setContent(EmailMessage.Email_Body, EmailMessage.Email_Content);  
 
//     保存上面添加的信息 
      message.saveChanges();   
//      發(fā)送郵件  
      System.out.println("doSendHtmlMail() 開始發(fā)送郵件……");   
      Transport.send(message);   
      System.out.println("發(fā)送成功!");   
    } catch (Exception e) 
    {   
        System.out.println("出錯(cuò)");   
        e.printStackTrace();   
    }   
  }   
  /** 
   * 發(fā)送帶有附件格式的郵件 
   */ 
  public void doSendAttachmentMail()  
  {   
//    獲取系統(tǒng)環(huán)境  
    Properties prop = new Properties();  
 
    Authenticator auth = null; 
    if (EmailMessage.validate) 
    { 
//      郵件服務(wù)器認(rèn)證  用戶名和密碼 
      auth = new MailAuthenticator(); 
    } 
//   添加必要的信息 
    prop.put("mail.smtp.host", EmailMessage.Email_Host);   
    prop.put("mail.smtp.auth", "true");   
     
//    設(shè)置對話和郵件服務(wù)器進(jìn)行通訊 
    Session session = Session.getDefaultInstance(prop, auth);   
     
//   設(shè)置郵件對象 
    Message message = new MimeMessage(session);   
    try  
    {   
//      設(shè)置郵件主題  
      message.setSubject(EmailMessage.Email_Subject);   
//      設(shè)置郵件標(biāo)題   
      message.setHeader("Header", EmailMessage.Email_Header);  
//      設(shè)置發(fā)送時(shí)間   
      message.setSentDate(EmailMessage.sendDate); 
       
//      設(shè)置發(fā)信人地址 和 名字 
      Address address = new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);   
//     把發(fā)件人信息添加到信息中 
      message.setFrom(address);   
       
//     設(shè)置發(fā)件人地址 
      Address toAddress = new InternetAddress(EmailMessage.TO);  
//      設(shè)置接收人地址 
      message.setRecipient(Message.RecipientType.TO, toAddress);   
      
//     設(shè)置多個(gè)收件人地址   
//     message.addRecipient(Message.RecipientType.TO,new InternetAddress("xxx@xxx.com"));   
      
       
//     設(shè)置發(fā)送信息的內(nèi)容  下面為發(fā)送附件 
      message.setContent(EmailMessage.Email_Body, EmailMessage.Email_Content);  
       
      BodyPart messageBodyPart = new MimeBodyPart();   
      messageBodyPart.setText("bodypart");   
       
      Multipart multipart = new MimeMultipart();   
      multipart.addBodyPart(messageBodyPart);   
       
      messageBodyPart = new MimeBodyPart();   
       
//     設(shè)置上傳的資源 
      DataSource source = new FileDataSource("E:\\3.doc");  
//     添加到 
      messageBodyPart.setDataHandler(new DataHandler(source));   
//     設(shè)置文件名稱,記得后綴名 
      messageBodyPart.setFileName("test.doc");   
      multipart.addBodyPart(messageBodyPart);  
       
      message.setContent(multipart);   
       
//     保存上面添加的信息 
      message.saveChanges();   
//      發(fā)送郵件  
      System.out.println("doSendAttachmentMail() 開始發(fā)送郵件……");   
      Transport.send(message);   
      System.out.println("發(fā)送成功!");   
    } catch (Exception e) 
    {   
        System.out.println("出錯(cuò)");   
        e.printStackTrace();   
    }   
  }   
  /** 
   * @param args 
   */ 
  public static void main(String[] args) 
  { 
//   new SendEmail().doSendNormalMail(); 
//   new SendEmail().doSendHtmlMail(); 
    new SendEmail().doSendAttachmentMail(); 
  } 
 
} 

以上就是Java發(fā)送郵件javax.mail的詳細(xì)代碼,希望對大家實(shí)現(xiàn)java郵件發(fā)送有所幫助。

相關(guān)文章

  • 5分鐘快速搭建SpringBoot3?+?MyBatis-Plus工程/項(xiàng)目的實(shí)現(xiàn)示例

    5分鐘快速搭建SpringBoot3?+?MyBatis-Plus工程/項(xiàng)目的實(shí)現(xiàn)示例

    本文主要介紹了使用IntelliJ?IDEA創(chuàng)建Spring?Boot工程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • MySQL安裝與idea的連接實(shí)現(xiàn)

    MySQL安裝與idea的連接實(shí)現(xiàn)

    本文主要介紹了MySQL安裝與idea的連接實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java生成圖形驗(yàn)證碼工具類

    Java生成圖形驗(yàn)證碼工具類

    這篇文章主要介紹了Java生成圖形驗(yàn)證碼工具類,本文思路明確介紹的非常詳細(xì),需要的朋友可以參考下
    2017-02-02
  • java 嵌套類的詳解及實(shí)例代碼

    java 嵌套類的詳解及實(shí)例代碼

    這篇文章主要介紹了java 嵌套類的詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 并行Stream與Spring事務(wù)相遇會(huì)發(fā)生什么?

    并行Stream與Spring事務(wù)相遇會(huì)發(fā)生什么?

    這篇文章主要介紹了并行Stream與Spring事務(wù)相遇會(huì)發(fā)生什么?文章主要解決實(shí)戰(zhàn)中的Bug及解決方案和技術(shù)延伸,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • IDEA 2020.1.2 安裝教程附破解教程詳解

    IDEA 2020.1.2 安裝教程附破解教程詳解

    這篇文章主要介紹了IDEA 2020.1.2 安裝教程附帶破解教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • java Thumbnails 圖片處理的使用

    java Thumbnails 圖片處理的使用

    這篇文章主要介紹了java Thumbnails 圖片處理的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • JAVA十大排序算法之冒泡排序詳解

    JAVA十大排序算法之冒泡排序詳解

    這篇文章主要介紹了java中的冒泡排序,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • AsyncHttpClient的TimeoutTimerTask連接池異步超時(shí)

    AsyncHttpClient的TimeoutTimerTask連接池異步超時(shí)

    這篇文章主要為大家介紹了AsyncHttpClient的TimeoutTimerTask連接池異步超時(shí)源碼流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 解析MapStruct轉(zhuǎn)換javaBean時(shí)出現(xiàn)的詭異事件

    解析MapStruct轉(zhuǎn)換javaBean時(shí)出現(xiàn)的詭異事件

    在項(xiàng)目中用到了MapStruct,對其可以轉(zhuǎn)換JavaBean特別好奇,今天小編給大家分享一個(gè)demo給大家講解MapStruct轉(zhuǎn)換javaBean時(shí)出現(xiàn)的詭異事件,感興趣的朋友一起看看吧
    2021-09-09

最新評(píng)論

宜兰县| 枝江市| 吉林市| 云林县| 衡东县| 宜兰市| 孙吴县| 华宁县| 都兰县| 乌兰县| 泾阳县| 兰州市| 柳林县| 金寨县| 湘潭县| 枝江市| 赤壁市| 黔西县| 尉犁县| 阿坝县| 高州市| 阳春市| 余江县| 清丰县| 昆山市| 新闻| 德化县| 开封县| 穆棱市| 呼伦贝尔市| 贺兰县| 上林县| 灌云县| 仁怀市| 红安县| 溧水县| 禄丰县| 安阳县| 达尔| 新和县| 抚州市|