2011-01-31 135 views
0

我想用Java发送电子邮件,我正在使用apache commons电子邮件库。使用Java发送包含pdf附件的HTML电子邮件

我不能达到与身体为HTML和附件为PDF(或任何文件类型)

如果我使用EmailAttachment(),并把它添加到一个HTML电子邮件的对象,我的邮件看起来像发送电子邮件两个附件。第一个是HTML,第二个是PDF。

有没有办法做到这一点?

非常感谢!

+0

你能发布相关的代码片段吗? – 2011-01-31 17:09:16

回答

0

听起来像是一种正常的行为,用于发送文本和HTML和/或邮件客户端(在接收端)优先发送文本电子邮件。我怀疑这是由于客户端的行为所致,您无法更改(但正面的所有 HTML电子邮件都会显示为这样)。

事情是,一个HTML电子邮件(带有文本组件)确实是一个多部分消息,HTML内容作为“额外”部分之一。您实际上从服务器端发送的电子邮件中包含大量文本,并由接收邮件客户端决定如何显示它。在这方面,客户将HTML作为附件显示并不错 - 就像智能客户端推断HTML不是“真实”附件并激活文本之间的某种切换和HTML(而不是将其显示为附件)。

如果你相信,客户通常会处理HTML智能本的方式,则:

  1. 你就不得不提到您正在使用要检查的客户,因为这是不是真的与发送本身有关的问题;和
  2. 您可能需要查看“有效”的电子邮件的原始来源,以及您的电子邮件,以确定触发不同呈现模式的关键差异。根据客户端软件的不同,这可能只是关于任何事情 - 但我会特别注意部分MIME类型和字符集。
0

我试过apache commons mail v1.2而不是1.1。

It works!?

Andrej,非常感谢您的帮助。

相关问题