java怎么将网页通过javamail发送到别人的邮箱,在邮件正文显示网页内容,而不是他的网页源代码

解决方案 »

  1.   


          Multipart mp = new MimeMultipart("related");
          MimeBodyPart mbodypart1 = new MimeBodyPart();
          MimeBodyPart mbodypart = new MimeBodyPart();
          
          MailContentAnalyse mca = new MailContentAnalyse();
          mbodypart.setText("请用HTML浏览器查看");
          mp.addBodyPart(mbodypart);
          sBody = "<html><header></header><body>" + mca.replacePicPath(sBody) +"</body></html>";
           
          mbodypart1.setContent(sBody,"text/html;charset=gb2312");
          
          mp.addBodyPart(mbodypart1);
          
          Vector vecPicPath = mca.GetImagePath();
          for(int i=0;i<vecPicPath.size();i++){
              MimeBodyPart mbodypart2 = new MimeBodyPart();
              String sPath = (String)vecPicPath.get(i);
              FileDataSource fds1 = new FileDataSource("D:\\tomcat\\webapps\\"+sPath);
              mbodypart2.setFileName(fds1.getName());
              mbodypart2.setDataHandler(new DataHandler(fds1));
              mbodypart2.setHeader("Content-ID",String.valueOf(i)+"@softvan.com.cn");
              mp.addBodyPart(mbodypart2);
          }
                
          String sID = Util.convertPostStr(request.getParameter("attachid"));
          AttachmentBean attachmentbean = (AttachmentBean) session.getAttribute("jmail_attachmentbean");
          if (attachmentbean == null) attachmentbean = new AttachmentBean();
          Hashtable h = attachmentbean.getAttachHash(sID);
          if (h.size() > 1) {
             //have attachment
             String s;
             for (Enumeration e = h.keys() ; e.hasMoreElements() ;) {
                s = (String) e.nextElement();
                if (s.equals("TOTALSIZE")) continue;
                
                MimeBodyPart mbp = new MimeBodyPart();
                FileDataSource fds = new FileDataSource(userbean.getAttachPath() + "/" + s);
                mbp.setDataHandler(new DataHandler(fds));
                String encodeFileName = MimeUtility.encodeText(Util.getAttachFileName((String) h.get(s)), "GBK", null);
                encodeFileName = Util.replaceStr(encodeFileName, "\r", "");
                encodeFileName = Util.replaceStr(encodeFileName, "\n", "");
                mbp.setFileName(encodeFileName);
                mp.addBodyPart(mbp);
             }
          }
          message.setContent(mp);