0

我正在使用apache-commons-logging.jar发送电子邮件。我能够成功发送 html 电子邮件,但很少有人在他们的邮件中收到您的电子邮件客户端不支持 HTML 消息消息。以下是代码示例 -

HtmlEmail htmlEmail = new HtmlEmail();
htmlEmail.setHostName("localhost");
htmlEmail.addTo(email, "demo1@sample.com");
htmlEmail.setFrom("demo2@sample.com", "Demo2");
htmlEmail.setSubject("Subject Line");

String msg = "<html>Hi Demo1,";
msg       += "<br><br> &nbsp;&nbsp;&nbsp;&nbsp; A very warm Welcome";
msg       += "</html>";
htmlEmail.setHtmlMsg(msg);

// set the alternative message
htmlEmail.setTextMsg("Your email client does not support HTML messages");

// send the email
htmlEmail.send();

我不明白如何解决这个问题。

请大师帮助我。

提前致谢。

4

2 回答 2

2

您可能正在使用 Commons Email 而不是 Commons Logging 来发送电子邮件。

预计那些将他们的电子邮件客户端配置为首选文本的人实际上确实看到的是文本而不是 HTML。作为发件人,您唯一能做的就是编写更有意义的纯文本消息。

于 2012-07-31T06:46:16.753 回答
1

这个“问题”的解决方案是改变:

htmlEmail.setTextMsg("Your email client does not support HTML messages");

htmlEmail.setTextMsg("A very warm Welcome");

...或者完全不考虑。用户可以选择是否将他们的电子邮件客户端配置为显示电子邮件正文的 HTML 或纯文本版本。理想情况下,您应该同时发送两个版本,但如果您只发送一个版本,那么您应该简单地将另一个版本留在外面。


我刚刚给出了“非常热烈的欢迎”的例子,有很多像超链接这样的 html 消息。所以我不能以纯文本格式提供这些消息。

我建议您阅读以下建议:

(我知道它主要针对电子邮件营销人员......但大多数建议也同样适用于软件生成的电子邮件。)

最重要的是,如果您希望您的用户可以阅读您的电子邮件,那么您的工作就是确保有可行的 HTML 和纯文本版本。如果您不这样做,您可能会疏远一些由于各种原因不能或不会阅读 HTML 电子邮件的用户。

于 2012-07-31T06:56:35.073 回答