我有一个应用程序,可以通过发送带有附件的电子邮件来与别人的服务器交谈。
我使用Apache Commons Email发送带有附件的邮件,如下所示:
MultiPartEmail email = new MultiPartEmail();
email.setHostName(sHostName);
email.addTo("bob@bob.com");
email.addFrom("andy@andy.com");
email.setSubject("the subject");
email.setMsg("the message");
byte[] documentFile = /* ... */;
String filename = "my file.pdf";
String description = "this is my file";
email.attach(new ByteArrayDataSource(myPDF, "application/pdf"), filename, description, EmailAttachment.ATTACHMENT);
email.send();问题是,另一端的人说“标题信息的Content-Transfer-Encoding值是"7bit”,它需要是"quoted-printable“。
我的问题是,我如何进行此更改,以便以适当的方式附加文件?
抢夺
发布于 2013-08-01 15:09:23
通用电子邮件根据附件的内容决定使用哪种编码,请参阅http://thecarlhall.wordpress.com/2010/09/01/setting-quoted-printable-in-a-commons-email-body-part/了解相关讨论。此外,底层的java邮件似乎会根据javadoc自动执行此操作。
这篇博文指出,您可以尝试使用
email.addHeader("Content-transfer-encoding", "quoted-printable");但它可能会因此损坏邮件的其他部分。
https://stackoverflow.com/questions/13144171
复制相似问题