网上搜了大把类子,基本上都是这样写得:
public static void sendMail(Message m) throws Exception {
...
MimeMessage msg = new MimeMessage(session);
msg.setSubject("FW:" + m.getSubject());
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("转发:\n\n");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
messageBodyPart.setDataHandler(m.getDataHandler());
multipart.addBodyPart(messageBodyPart);
msg.setContent(multipart);
Transport.sendMessage(msg, oAdd);
}
运行后报错:java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content
去掉messageBodyPart.setDataHandler(m.getDataHandler());后就能正常发送,但这样木有实现转发的要求。
求高手!!
public static void sendMail(Message m) throws Exception {
...
MimeMessage msg = new MimeMessage(session);
msg.setSubject("FW:" + m.getSubject());
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("转发:\n\n");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
messageBodyPart.setDataHandler(m.getDataHandler());
multipart.addBodyPart(messageBodyPart);
msg.setContent(multipart);
Transport.sendMessage(msg, oAdd);
}
运行后报错:java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content
去掉messageBodyPart.setDataHandler(m.getDataHandler());后就能正常发送,但这样木有实现转发的要求。
求高手!!
换成 contentBodyPart.setContent(this.forward.getContent(), "text/html;charset=GB2312");搞定