带附件的HTML电子邮件

时间:2010-09-21 02:02:58

标签: java javamail apache-commons-email

我正在尝试使用apache-commons-email 1.1在电子邮件中添加包含某些html内容的zip附件。

如果我使用此代码发送没有附件的电子邮件,则html正文显示正确。

HtmlEmail email = new HtmlEmail();
email.setMailSession(mailSession);
email.setSubject(subject);
email.addTo(to);
email.setFrom(from);
email.setHtmlMsg(body);
email.send();

然而使用以下内容,电子邮件正文是空白的,并且有一个名为“第1.2部分”的html附件(与我的zip附件一起)包含应该是电子邮件正文的内容:

HtmlEmail email = new HtmlEmail();
email.setMailSession(mailSession);
email.setSubject(subject);
email.addTo(to);
email.setFrom(from);
email.setHtmlMsg(body);
ByteArrayDataSource bads = new ByteArrayDataSource(zip, "application/zip");
email.attach(bads, "files.zip", "files");
email.send();

我该怎么做才能避免这个问题?

ps我试图升级到commons-email 1.2但maven因某种原因从refractions.net下载它。

2 个答案:

答案 0 :(得分:4)

确认:这是commons-email 1.1的问题,并在1.2中修复。

答案 1 :(得分:0)

你试过这个吗?

email.attach(bads, "files.zip", "files", EmailAttachment.ATTACHMENT);