如何 以网页的形式发邮件

用javamail 发了邮件 过去 收到查看后 全部是一些 html源代码
怎样 让文本 以网页的形式发出去啊
就是当查收 邮件的时候 是以翻译过的html 而不是 html
源代码?

参考:[url]http://www.iteye.com/topic/70409[/url]
[code="java"]
// 设定邮件内容的类型为 text/plain 或 text/html

mbp.setContent(content, "text/html;charset=GB2312");
[/code]
这句很重要

关键是用javax.mail.internet.MimeMessage
下面的代码中mailSender是Spring的JavaMailSenderImpl
[code="java"]
MimeMessage message = mailSender.createMimeMessage();

MimeMessageHelper helper = new MimeMessageHelper(message);
try {
  helper.setTo(emailAddr);
  helper.setFrom(from);
  helper.setSubject(subject);
  helper.setText(html, true);
  helper.setSentDate(new Date());
} catch (MessagingException e) {
  e.printStackTrace();
  logger.error(e.getMessage());
  addActionError("邮件发送失败." + e.getMessage());
  return INPUT;
}

mailSender.send(message);

[/code]

Properties props=new Properties();
props.put("mail.smtp.host","127.0.0.1");
props.put("mail.smtp.auth","true");
Session s=Session.getInstance(props);
s.setDebug(true);

MimeMessage message=new MimeMessage(s);

//给消息对象设置发件人/收件人/主题/发信时间
InternetAddress from=new InternetAddress("xxf@cafe.com");
message.setFrom(from);
InternetAddress to=new InternetAddress(tto);
message.setRecipient(Message.RecipientType.TO,to);
message.setSubject(ttitle);
message.setSentDate(new Date());

//给消息对象设置内容
BodyPart mdp=new MimeBodyPart();//新建一个存放信件内容的BodyPart对象
[color=red]mdp.setContent(tcontent,"text/html;charset=gb2312");//给BodyPart对象设置内容和格式/编码方式[/color]Multipart mm=new MimeMultipart();//新建一个MimeMultipart对象用来存放BodyPart对
//象(事实上可以存放多个)
mm.addBodyPart(mdp);//将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)
message.setContent(mm);//把mm作为消息对象的内容

message.saveChanges();
Transport transport=s.getTransport("smtp");
transport.connect("127.0.0.1","xxf","coffee");
transport.sendMessage(message,message.getAllRecipients());
transport.close();