<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    細心!用心!耐心!

    吾非文人,乃市井一俗人也,讀百卷書,跨江河千里,故申城一游; 一兩滴辛酸,三四年學業,五六點粗墨,七八筆買賣,九十道人情。

    BlogJava 聯系 聚合 管理
      1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks

    用Javamail發送郵件

     

    在java版經常看到有人問如何用javamail發送郵件?如何接收郵件?如何訪問多個文件夾等。問題零散,而歷史的回復早已經淹沒在問題的海洋之中。

    本人之前所做過一個java項目,其中包含有WebMail功能,當初為用java實現而對javamail摸索了一段時間,總算有點收獲。看到論壇中的經常有此方面的問題,因此把我的一些經驗帖出來,希望對大家有些幫助。

    此篇僅介紹用javamail實現發送郵件功能,其中涉及smtp認證,郵件附件發送,及HTML內容郵件等。
    其它有關多郵箱的實現,接收POP3郵件及IMAP等內容,將在后續文章中介紹。

    如下程序需要:javamail,JAF包,j2ee.jar包含了上述兩個包,建議大家安裝J2SDKEE或直接拷貝j2ee.jar,將其添加到jbuilder的library中,或系統ClassPath中

    */

     

    package com.me.util.mail;

    /**
     * @author Zhangkun aistill@msn.com
     * @version 1.0
     */

    import java.util.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import java.util.Date;
    import javax.activation.*;
    import java.io.*;
    import com.me.util.*;

    public class sendMail {

      private MimeMessage mimeMsg;  //MIME郵件對象

      private Session session;      //郵件會話對象
      private Properties props;     //系統屬性
      private boolean needAuth = false;  //smtp是否需要認證

      private String username = "";  //smtp認證用戶名和密碼
      private String password = "";

      private Multipart mp;    //Multipart對象,郵件內容,標題,附件等內容均添加到其中后再生成MimeMessage對象

     

     /**
      *
      */
      public sendMail() {
        setSmtpHost(getConfig.mailHost);//如果沒有指定郵件服務器,就從getConfig類中獲取
        createMimeMessage();
      }

      public sendMail(String smtp){
        setSmtpHost(smtp);
        createMimeMessage();
      }

     

     /**
      * @param hostName String
      */
      public void setSmtpHost(String hostName) {
        System.out.println("設置系統屬性:mail.smtp.host = "+hostName);
        if(props == null)props = System.getProperties();         //獲得系統屬性對象

        props.put("mail.smtp.host",hostName);                 //設置SMTP主機
      }


     /**
      * @return boolean
      */
      public boolean createMimeMessage()
      {
        try{
          System.out.println("準備獲取郵件會話對象!";
          session = Session.getDefaultInstance(props,null);   //獲得郵件會話對象
        }
        catch(Exception e){
          System.err.println("獲取郵件會話對象時發生錯誤!"+e);
          return false;
        }

        System.out.println("準備創建MIME郵件對象!";
        try{
          mimeMsg = new MimeMessage(session);                 //創建MIME郵件對象
          mp = new MimeMultipart();

          return true;
        }
        catch(Exception e){
          System.err.println("創建MIME郵件對象失敗!"+e);
          return false;
        }
      }

     

     /**
      * @param need boolean
      */
      public void setNeedAuth(boolean need) {
        System.out.println("設置smtp身份認證:mail.smtp.auth = "+need);
        if(props == null)props = System.getProperties();

        if(need){
          props.put("mail.smtp.auth","true";
        }else{
          props.put("mail.smtp.auth","false";
        }
      }

     

     /**
      * @param name String
      * @param pass String
      */
      public void setNamePass(String name,String pass) {
        username = name;
        password = pass;
      }


     /**
      * @param mailSubject String
      * @return boolean
      */
      public boolean setSubject(String mailSubject) {
        System.out.println("設置郵件主題!";
        try{
          mimeMsg.setSubject(mailSubject);
          return true;
        }
        catch(Exception e) {
          System.err.println("設置郵件主題發生錯誤!";
          return false;
        }
      }


     
     /**
      * @param mailBody String
      */
      public boolean setBody(String mailBody) {
        try{
          BodyPart bp = new MimeBodyPart();
          bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+mailBody,"text/html;charset=GB2312";
          mp.addBodyPart(bp);

          return true;
        }
        catch(Exception e){
          System.err.println("設置郵件正文時發生錯誤!"+e);
          return false;
        }
      }


     /**
      * @param name String
      * @param pass String
      */
      public boolean addFileAffix(String filename) {

     System.out.println("增加郵件附件:"+filename);

     try{
          BodyPart bp = new MimeBodyPart();
          FileDataSource fileds = new FileDataSource(filename);
          bp.setDataHandler(new DataHandler(fileds));
          bp.setFileName(fileds.getName());

          mp.addBodyPart(bp);

          return true;
        }
        catch(Exception e){
          System.err.println("增加郵件附件:"+filename+"發生錯誤!"+e);
          return false;
        }
      }

     

     /**

    posted on 2007-05-06 12:23 張金鵬 閱讀(77) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 久久亚洲精品无码| 亚洲色WWW成人永久网址| 亚洲精品在线播放| 久久狠狠躁免费观看2020| 亚洲AV永久无码区成人网站| 精品国产免费人成网站| 亚洲色大成网站www永久一区| 老外毛片免费视频播放| 亚洲人成电影网站国产精品| 一区二区三区免费在线视频 | 亚洲欧洲国产综合AV无码久久| 免费H网站在线观看的| 亚洲依依成人精品| 毛片视频免费观看| 国产亚洲日韩在线a不卡| 国产a v无码专区亚洲av| 中文成人久久久久影院免费观看| 亚洲国产另类久久久精品黑人| 久久香蕉国产线看免费| 亚洲影视自拍揄拍愉拍| 午夜精品在线免费观看| 免费看黄网站在线看| 亚洲午夜久久久影院| 最近中文字幕mv免费高清视频8| 亚洲av乱码一区二区三区香蕉| 女人被男人桶得好爽免费视频 | 91精品视频在线免费观看| 亚洲国产成AV人天堂无码| 日本免费高清一本视频| 乱淫片免费影院观看| 亚洲电影中文字幕| 毛片基地免费观看| 一级毛片在线免费视频| 噜噜噜亚洲色成人网站∨| 国产免费久久精品| 7x7x7x免费在线观看| 欧洲精品码一区二区三区免费看| 久久精品亚洲综合一品| 免费无码看av的网站| 午夜免费福利小电影| 狠狠入ady亚洲精品|