http://www.javayou.com/showlog.jspe?cat_id=-1&log_id=136

解决方案 »

  1.   

    to : liusoft(红薯*稀饭) 
    在你给的帖子里面没有找到附件,
      

  2.   

    我想不通,能发HTML,那上面有没有图片不是一样吗?网页中的图片只要图片地址有效,当然不能使用相对路径,而是以"http://"开头的。
      

  3.   

    public void SendMessage(String msghtm) {
      String to = "[email protected]";
      String from = "[email protected]";
      String subject = "testhtml你好";
      String mailhost = "smtp.21cn.com";
      String content="<html><head> 你好 !</head><body><a href='http://www.sina.com'>content</a><br>contentcontentcontentcontent</body></html>";
      MimeMessage mimeMsg = null;
      Session session = null;
      String fileAttachment = "C:\\mm.jpg";
      try {
        Properties props = System.getProperties();  //获得系统属性
        props.put("mail.smtp.host", mailhost);      //设置SMTP主机
        props.put("mail.transpont.protocol","smtp");
        props.put("mail.smtp.auth","true");
        session = Session.getInstance(props,new PassAuth("name","pass"));
        mimeMsg = new MimeMessage( session );
        mimeMsg.setFrom(new InternetAddress( from ) );
        if(to!=null){
           mimeMsg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to ) );
        }
        mimeMsg.setSubject(subject,"GB2312");
        // 第一部分信息
        MimeBodyPart mbp1 = new MimeBodyPart();
        mbp1.setText( content, "GB2312");
        // 第二部分信息
        MimeBodyPart mbp2 = new MimeBodyPart();
        FileDataSource fds = new FileDataSource( fileAttachment );
        mbp2.setDataHandler(new DataHandler(fds));
        mbp2.setFileName(fds.getName());
        mbp2.setHeader("Content-ID","image1");
        // 在第三部分信息中附加一个文件
        StringBuffer msg=new StringBuffer();
        String line="";
        FileReader fr=new FileReader("c:\\test.htm");
        BufferedReader br=new BufferedReader(fr);
        while((line=br.readLine())!=null){
          msg.append(line);
        }
        BodyPart mbp3=new MimeBodyPart();
        mbp3.setContent(msg.toString(),"text/html;charset=gb2312");    // 创建 Multipart 并放入每个 MimeBodyPart
        Multipart mp = new MimeMultipart("related");
        mp.addBodyPart( mbp1 );
        mp.addBodyPart( mbp2 );
        mp.addBodyPart( mbp3);
        // 增加 Multipart 到信息体
        //mimeMsg.setContent( mp );    //System.out.println(msg.toString());
        //String temp=MimeUtility.encodeText(msg.toString(),"gb2312","B");
        //String temp=new String(msg.toString().getBytes("iso-8859-1"),"gb2312");
        System.out.println(msghtm);
        BodyPart mbp6=new MimeBodyPart();
        mbp6.setContent(msg.toString(),"text/html;charset=gb2312");
        Multipart mm=new MimeMultipart();
        mm.addBodyPart(mbp6);
        mm.addBodyPart(mbp2);
        mimeMsg.setContent(mm);
        //mimeMsg.setContent(msghtm,"text/html;charset=gb2312");
        mimeMsg.setDisposition("Inline");
        mimeMsg.setSentDate(new Date());
        Transport.send( mimeMsg );
        System.out.println("email send!");
      } catch (MessagingException e) {
        e.printStackTrace();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }