Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java commons电子邮件HTML消息问题_Java_Email_Apache Commons Email - Fatal编程技术网

Java commons电子邮件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

希望能快点

基本上,我使用的是ApacheCommonsEmailV1.3.3,我试图发送一封HTML格式的电子邮件。我已经按照他们的做法来做了,但是我收到的电子邮件在我查看的任何客户端中都没有解析为HTML,所有这些客户端都支持HTML

下面是发送它的代码片段:

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()使用
标记隐式包装消息。