我有一个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”之后,这看起来像是一个黑客。
有没有人见过这个?处理它的最佳方法是什么?
答案 0 :(得分:2)
Part
是Interface
,因此具体类的实现将决定实际发生的事情。如果您想知道封面下发生了什么,知道您发送的是什么类型的消息可能会有所帮助。
也就是说,在addHeader("Content-Type", "text/html")
个实例上调用Part
是可以接受的。