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

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

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

    細(xì)心!用心!耐心!

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

    BlogJava 聯(lián)系 聚合 管理
      1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks

    用Javamail發(fā)送郵件

     

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

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

    此篇僅介紹用javamail實現(xiàn)發(fā)送郵件功能,其中涉及smtp認(rèn)證,郵件附件發(fā)送,及HTML內(nèi)容郵件等。
    其它有關(guān)多郵箱的實現(xiàn),接收POP3郵件及IMAP等內(nèi)容,將在后續(xù)文章中介紹。

    如下程序需要:javamail,JAF包,j2ee.jar包含了上述兩個包,建議大家安裝J2SDKEE或直接拷貝j2ee.jar,將其添加到j(luò)builder的library中,或系統(tǒng)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;     //系統(tǒng)屬性
      private boolean needAuth = false;  //smtp是否需要認(rèn)證

      private String username = "";  //smtp認(rèn)證用戶名和密碼
      private String password = "";

      private Multipart mp;    //Multipart對象,郵件內(nèi)容,標(biāo)題,附件等內(nèi)容均添加到其中后再生成MimeMessage對象

     

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

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

     

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

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


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

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

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

     

     /**
      * @param need boolean
      */
      public void setNeedAuth(boolean need) {
        System.out.println("設(shè)置smtp身份認(rèn)證: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("設(shè)置郵件主題!";
        try{
          mimeMsg.setSubject(mailSubject);
          return true;
        }
        catch(Exception e) {
          System.err.println("設(shè)置郵件主題發(fā)生錯誤!";
          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("設(shè)置郵件正文時發(fā)生錯誤!"+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+"發(fā)生錯誤!"+e);
          return false;
        }
      }

     

     /**

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 69精品免费视频| 三级黄色免费观看| 国产成人A在线观看视频免费| 亚洲色四在线视频观看| 七色永久性tv网站免费看| 久久精品国产亚洲麻豆| a级毛片免费完整视频| A国产一区二区免费入口| 国产亚洲精品精品国产亚洲综合| 日韩a毛片免费观看| 国产成人精品久久亚洲高清不卡 | 四虎影视永久在线精品免费| 国产午夜亚洲精品国产成人小说| xxxxx做受大片在线观看免费| 999久久久免费精品国产 | 午夜性色一区二区三区免费不卡视频 | 精品久久久久久亚洲综合网| 国产麻豆剧传媒精品国产免费| 另类图片亚洲校园小说区| 亚洲精品岛国片在线观看| 日韩a级无码免费视频| 亚洲欧洲日韩不卡| 一级女人18毛片免费| 老司机福利在线免费观看| 亚洲人JIZZ日本人| 狼群影院在线观看免费观看直播| 亚洲激情视频图片| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲五月综合网色九月色| 免费看少妇作爱视频| 国产成人无码精品久久久免费| 女人张腿给男人桶视频免费版| 精品久久久久久亚洲综合网| 国精无码欧精品亚洲一区| 免费观看激色视频网站bd| 亚洲日本天堂在线| 黄色片在线免费观看| 青草青草视频2免费观看| 亚洲av无码av制服另类专区| 无码中文字幕av免费放| 久久精品国产亚洲AV大全|