1.把邮件保存为一个文件,这个文件可以直接用Outlook,Foxmail等邮件客户端工具打开。
private void savemail(MimeMessage msg, String path) {
try {
File f = new File(path);
f.getParentFile().mkdirs();
FileOutputStream fo = new FileOutputStream(f);
//CRLFOutputStream 可以把一些换行符不满足MIME规范的邮件进行修正。
CRLFOutputStream CRLFO = new CRLFOutputStream(fo);
msg.writeTo(CRLFO);
CRLFO.close();
fo.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
调用:
savemail(msg,"c:/lizongbo/testmail.eml");
2.对邮件体使用base64编码。
默认情况下使用的是quoted-printable编码:
示例如下:
MimeMessage msg = new MimeMessage((Session)null);
msg.setFrom(new InternetAddress("lizongbo@gmail.com"));
msg.setRecipient(Message.RecipientType.TO,
new InternetAddress("lizongbo@msn.com"));
msg.setText("测试一下,邮件来自 net/lizongbo">http://www.donews
.net/lizongbo !!!");
msg.setSubject("测试标题!!!", "GB2312");
MimeMultipart multipart = new MimeMultipart();
MimeBodyPart txtbodyPart = new MimeBodyPart();
txtbodyPart.setText("这是一封html邮件,请用html方式察看!!!");
multipart.addBodyPart(txtbodyPart);
MimeBodyPart htmlodyPart = new MimeBodyPart();
String content="html邮件内容!来自 net/lizongbo">http://www.donews
.net/lizongbo ";
content = "<html><body>" + content + "</body><html>";
htmlodyPart.setContent(content, "text/html;charset=GBK");
multipart.addBodyPart(htmlody
[1] [2] [3] [4] 下一页
教程录入:swh 责任编辑:swh