Java commons电子邮件HTML消息问题
希望能快点 基本上,我使用的是ApacheCommonsEmailV1.3.3,我试图发送一封HTML格式的电子邮件。我已经按照他们的做法来做了,但是我收到的电子邮件在我查看的任何客户端中都没有解析为HTML,所有这些客户端都支持HTML 下面是发送它的代码片段:Java commons电子邮件HTML消息问题,java,email,apache-commons-email,Java,Email,Apache Commons Email,希望能快点 基本上,我使用的是ApacheCommonsEmailV1.3.3,我试图发送一封HTML格式的电子邮件。我已经按照他们的做法来做了,但是我收到的电子邮件在我查看的任何客户端中都没有解析为HTML,所有这些客户端都支持HTML 下面是发送它的代码片段: HtmlEmail email = new HtmlEmail(); email.setSubject(subject); email.setTo(getRecipients(recipients)); ema
HtmlEmail email = new HtmlEmail();
email.setSubject(subject);
email.setTo(getRecipients(recipients));
email.setHtmlMsg(htmlMsg);
email.setTextMsg(alternativeMsg);
try {
this.mailServer.send(email);
}
catch (EmailException e) {
LOGGER.error("An error occurred sending email. ", e);
}
现在让我们假设html是这样的:
html中的一些文本诸如此类
我只是收到纯文本内容如上所述
有人能强调一下我遗漏了什么吗
谢谢
编辑:
使用了调试功能后,我可以看到内容类型仍然是纯文本。为了解决我的问题,我改为:
email.setContent(htmlMsg,EmailConstants.TEXT\uhtml)代码>我使用commons电子邮件库已经有一段时间了。我认为,您可以使用setMsg()
方法来设置消息,而不是setHtmlMsg()
。按如下所示重写代码,它应该可以正常工作
HtmlEmail email = new HtmlEmail();
email.setSubject(subject);
email.setTo(getRecipients(recipients));
email.setMsg(htmlMsg);
try {
this.mailServer.send(email);
}
catch (EmailException e) {
LOGGER.error("An error occurred sending email. ", e);
}
这封HTML电子邮件还有一个问题。库在我们的消息中添加了一个
标记,这使得样式和对齐有点奇怪。我必须重写setMsg()
来克服这个问题 那没什么区别。唯一的区别是setMsg()使用
标记隐式包装消息。