当前位置: 首页 > 知识库问答 >
问题:

Apache Commons电子邮件,如何以引用的可打印内容传输类型发送附件?

盖雪峰
2023-03-14

我有一个应用程序,可以通过发送带有附件的电子邮件与其他人的服务器进行对话。

我使用Apache Commons电子邮件发送带有附件的电子邮件,如下所示:

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-Transport-Encode值为“7bit”,它需要“可引用可打印”。

我的问题是,如何进行此更改,以便以适当的方式附加文件?

抢劫

共有1个答案

龚振
2023-03-14

Commons电子邮件根据附件的内容决定使用哪种编码,有关相关讨论,请参阅http://thecarlhall.wordpress.com/2010/09/01/setting-quoted-printable-in-a-commons-email-body-part/。底层java-mail似乎会根据javadoc自动执行此操作。

这篇博文指出,您可以尝试使用

email.addHeader("Content-transfer-encoding", "quoted-printable");

但它可能会破坏邮件的其他部分。

 类似资料:
  • 问题内容: 我在理解如何使用Python通过电子邮件发送附件时遇到问题。我已成功通过电子邮件将简单消息通过电子邮件发送。有人可以在电子邮件中说明如何发送附件。我知道在线上还有其他帖子,但是作为Python初学者,我很难理解它们。 问题答案: 这是另一个:

  • 问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送

  • 我已经成功创建了PDF文件,它存储在内部storage/app_name/files/xyz.PDF中,现在我只想在Gmail的附件中分享那个PDF......更新:在调试器中获取错误“源代码与字节码不匹配” 正在获取异常文件:///storage/emulated/0/storage/emulated/0/android/data/com.example.app_name/files/s.pdf

  • 问题内容: HTML电子邮件可以使用图像附件作为标记的来源吗? 假设我正在发送包含每个电子邮件特定图像的电子邮件-它们作为电子邮件的附件发送-电子邮件中的HTML正文可以使用这些图像吗?我的猜测是 不会 ,但是是否有任何 破解 或变通办法可以使它正常工作? 谢谢, 问题答案: 无需黑客。使用URI方案

  • 我无法正确发送带有附件的电子邮件。我正在使用Gradle和Spring 5。一切都设置正确,因为我已经发送了文本和html电子邮件。过了一段时间,我发送给客户的文本要求超过了电子邮件的限制,所以我需要将纯文本提取到CSV文件中,并将其作为附件发送到电子邮件中。看起来我只得到了所附文件的一部分,而不是完整的文件? 代码: 电子邮件正文无法正确发送。这是我在电子邮件收件箱中收到的原始邮件: 主题:报表

  • 问题内容: 我似乎找不到我编写的应该发送带有附件的电子邮件的php函数的问题。我已经为此苦苦挣扎了一段时间了。 编辑 问题是邮件的消息与文件混合在一起并作为附件发送。 问题答案: Artefacto让我更加关注输出,并且找到了解决方法: