空間站

          北極心空

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks
          1.郵件發送類?:

          package?com.taihuatalk.taihua.common.common;
          /**?*//**
          ?*?Author:李鵬
          ?*?CreateDate:2006-06-25?22:47:00
          ?*?Modifier:李鵬
          ?*?ModifyDate:2006-06-25?22:47:00
          ?*?Version:1.0
          ?*?Copyright(c)2006?泰華網絡?滬ICP備06××××××號
          ?*?All?right?reserved.
          ?
          */


          import?javax.mail.Transport;
          import?javax.mail.internet.InternetAddress;
          import?java.util.Date;
          import?javax.mail.Message.RecipientType;
          import?javax.mail.internet.MimeMessage;
          import?javax.mail.Message;
          import?javax.mail.Session;
          import?java.util.Properties;
          import?javax.mail.MessagingException;
          import?javax.mail.internet.MimeBodyPart;
          import?javax.mail.Multipart;
          import?javax.mail.internet.MimeMultipart;
          import?org.apache.log4j.Logger;
          /**?*//**
          ?*?發送Email類
          ?
          */


          public?class?SendEmail?{
          ??Logger?logger
          =Logger.getLogger(this.getClass());
          ??
          /**?*//**
          ???*?Email發送方法
          ???*?
          @param?toemails?需要一個字符串參數,用來設置收件人地址,如果收件人為多個,則用","隔開
          ???*?
          @param?content?郵件內容
          ???*?
          @param?subject?郵件主題
          ???*?
          @return?郵件成功發送則返回true,否則返回false
          ???
          */

          ??
          public?boolean?sendSimpleEmail(String?toemails,String?content,String?subject){
          ????
          boolean?result=false;
          ????logger.info(
          "進入發送Email類");
          ??????
          try?{
          ????????
          //創建屬性對象
          ????????Properties?props?=?new?Properties();
          ????????
          //設置郵件傳輸協議為:smtp
          ????????props.put("mail.transpost.protocol","smtp");
          ????????
          //設置郵件服務器地址
          ????????props.put("mail.smtp.host",?"smtp.163.com");
          ????????
          //設置郵件驗證為真
          ????????props.put("mail.smtp.auth",?"true");
          ????????
          //設置郵件服務器端口
          ????????props.put("mail.smtp.port","25");

          ????????
          //調用驗證類進行驗證,需要參數發件人用戶名和密碼
          ????????logger.info("驗證類實例化==============");
          ????????CheckSendEmail?auth
          =new?CheckSendEmail("lip009","lip009");

          ????????logger.info(
          "驗證通過");
          ????????
          //創建session對象
          ????????Session?sendMailSession;
          ????????sendMailSession?
          =?Session.getInstance(props,?auth);
          ????????
          //設置輸出調試信息
          ????????sendMailSession.setDebug(true);

          ????????logger.info(
          "開始創建消息對象");
          ????????
          //創建信息對象
          ????????Message?newMessage?=?new?MimeMessage(sendMailSession);

          ????????
          //輸入發送信息
          ????????
          //設置發信人地址
          ????????logger.info("設置發信人地址");
          ????????newMessage.setFrom(
          new?InternetAddress("link2friend@163.com"));

          ????????
          //設置收信人地址,只支持單用戶發送
          //????????newMessage.setRecipient(Message.RecipientType.TO,new?InternetAddress("lip0091981@163.com"));

          ????????
          //設置收信人地址,可以支持多用戶發送
          ????????logger.info("設置收信人地址");
          ????????newMessage.setRecipients(Message.RecipientType.TO,
          ????????????????????????????????InternetAddress.parse(toemails));
          ???????
          //附件
          //==============================================================================
          ???????
          //msgText是信件的正文,共有兩行
          //???????String?msgText?=?content;

          ???????
          //msgAttachment是一段字符串作為附件內容
          //???????String?msgAttachment?=?"This?is?an?attachment?string!";

          //???????MimeBodyPart?mbp1?=?new?MimeBodyPart();

          //???????mbp1.setText(msgText);?//把前面定義的msgText中的文字設定為郵件正文的內容

          ???????
          //創建附件部分
          //???????MimeBodyPart?mbp2?=?new?MimeBodyPart();

          ???????
          //使用setText(text,?charset)來加入附件
          //???????mbp2.setText(msgAttachment,?"gb2312");

          ???????
          //創建Multipart
          //???????Multipart?mp?=?new?MimeMultipart();

          //???????mp.addBodyPart(mbp1);
          //???????mp.addBodyPart(mbp2);

          ???????
          //?添加?Multipart到Message中
          //???????newMessage.setContent(mp);
          //==============================================================================
          ????????
          //設置信件文本格式(當設置了附件,這里就不能有)
          ????????logger.info("設置格式");
          ????????newMessage.setContent(
          "SendMail",?"text/html");

          ????????
          //設置信件主題
          ????????logger.info("設置主題");
          ????????newMessage.setSubject(subject);

          ????????
          //設置信件發送日期
          ????????logger.info("設置發送日期");
          ????????newMessage.setSentDate(
          new?Date());

          ????????
          //設置信件正文(當設置了附件,這里就不能有)
          ????????newMessage.setText(content);
          ????????logger.info(
          "設置完消息");
          ????????
          //創建對象
          ????????Transport?transport;
          ????????transport?
          =?sendMailSession.getTransport("smtp");
          ????????logger.info(
          "將要發送");

          ????????
          //發送
          ????????result=true;
          ????????transport.send(newMessage);
          //此處總是拋出異常,讓人很是郁悶,但是郵件卻發送成功!
          ????????logger.info("恭喜你!您的郵件已經成功發送!");
          ??????}

          ??????
          catch?(MessagingException?ex)?{
          //????????ex.printStackTrace();
          ??????}

          ??????
          return?result;
          ??}

          }


          2.郵件帳號密碼驗證類:

          package?com.taihuatalk.taihua.common.common;
          /**?*//**
          ?*?Author:李鵬
          ?*?CreateDate:2006-06-25?22:47:00
          ?*?Modifier:李鵬
          ?*?ModifyDate:2006-06-25?22:47:00
          ?*?Version:1.0
          ?*?Copyright(c)2006?泰華網絡?滬ICP備06××××××號
          ?*?All?right?reserved.
          ?
          */


          import?javax.mail.*;

          /**?*//**
          ?*?Email發送帳號密碼驗證類
          ?
          */


          public?class?CheckSendEmail?extends?Authenticator{
          ??
          private?String?m_username?=?null;
          ??
          private?String?m_userpass?=?null;
          ??
          public?void?setUsername(String?username)
          ??
          {
          ??????m_username?
          =?username;
          ??}

          ??
          public?void?setUserpass(String?userpass)
          ??
          {
          ??????m_userpass?
          =?userpass;
          ??}

          ??
          public?CheckSendEmail(String?username,?String?userpass)
          ??
          {
          ??????
          super();
          ??????setUsername(username);
          ??????setUserpass(userpass);
          ??}

          ??
          public?PasswordAuthentication?getPasswordAuthentication()
          ??
          {
          ??????
          return?new?PasswordAuthentication(m_username,m_userpass);
          ??}

          }
        1. JavaMail操作的總結(1) 2004-08-15 gztoby
        2. 加入身份驗證信息的SMTP mail發送 2005-04-06 sykpboy
        3. 郵件發送程序(可以同時發給多個地址、可以帶附件) 2004-11-09 naipengzhao
        4. 用JavaMail寫簡易電子郵件發送系統[轉載] 2004-07-29 lwqJ
        5. 在JSP中使用JavaMail(下) 2004-07-01 arielxp
        6. posted on 2006-11-24 15:43 蘆葦 閱讀(1091) 評論(1)  編輯  收藏 所屬分類: JAVA

          Feedback

          # re: JavaMail發送郵件 2008-11-12 14:15 13123123
          asdassdafasdfsdf  回復  更多評論
            

          主站蜘蛛池模板: 米泉市| 雷州市| 巴林左旗| 东海县| 滨州市| 扶余县| 城市| 樟树市| 宜城市| 临沧市| 西藏| 穆棱市| 罗定市| 炎陵县| 江川县| 泸溪县| 锦屏县| 稻城县| 黔江区| 鹿邑县| 宁都县| 阿克陶县| 红原县| 钟祥市| 吉木萨尔县| 营口市| 宣汉县| 金乡县| 同江市| 蒙山县| 海晏县| 石狮市| 彝良县| 高陵县| 吉林省| 乐平市| 茌平县| 三明市| 杭州市| 山东省| 弥渡县|