javax.mail.Part中的内容类型设置不正确

时间:2009-07-07 14:38:51

标签: java email java-ee mime-types

我有一个javax.mail.Part,需要修改内容,所以我有这样的代码:

System.out.println(part.getContentType());
String content = (String) part.getContent();
content = content.replace("a", "b");
part.setContent(content, part.getContentType());
System.out.println(part.getContentType());

这会打印出text / html然后是text / plain。我也尝试使用text / html类型创建一个javax.activation.DataHandler并调用part.setDataHandler(dh),但是part.getContentType()之后仍然返回text / plain。

我可以设置内容,然后调用part.setHeader(“Content-Type”,“text / html”)。在此part.getContentType()返回“text / html”之后,这看起来像是一个黑客。

有没有人见过这个?处理它的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

PartInterface,因此具体类的实现将决定实际发生的事情。如果您想知道封面下发生了什么,知道您发送的是什么类型的消息可能会有所帮助。

也就是说,在addHeader("Content-Type", "text/html")个实例上调用Part是可以接受的。