空間站

          北極心空

            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  回復  更多評論
            

          主站蜘蛛池模板: 马关县| 武山县| 攀枝花市| 安泽县| 泰来县| 乐业县| 德惠市| 蓝山县| 武陟县| 田阳县| 石渠县| 贵港市| 灵山县| 宜城市| 海丰县| 修武县| 余江县| 昌乐县| 庆城县| 临颍县| 金寨县| 喀喇| 阳朔县| 荥阳市| 太原市| 仪陇县| 金山区| 玉门市| 赣州市| 于田县| 汝阳县| 额济纳旗| 达州市| 吉林省| 崇阳县| 手机| 阜城县| 乌拉特后旗| 富裕县| 万年县| 云和县|