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

Java Mail:强制“内容传输编码”为“可引用打印”

司空温书
2023-03-14

目前,该电子邮件显示了有关MimeBodyPart的以下标题:

------=_Part_56_339247379.1438186660985
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

标题部分应显示以下内容:

----boundary_0_e825c994-ed10-443c-a2e7-d107b27d31dd
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

下面是我如何尝试强制引用可打印的内容:

MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setHeader("Content-Transfer-Encoding", "quoted-printable");

如何强制内容传输编码可引用打印?我正在连接我的gmail邮件服务器idk,如果这有什么区别的话。也许这个标题会被谷歌覆盖。

共有1个答案

丁绪
2023-03-14

我在电子邮件主体的这个问题上有一个变体。我的任务是复制另一个程序的输出,即使在不需要的情况下也总是使用引用的可打印。最终奏效的是确保我在将文本添加到消息后设置了Content-Transport-Encode标头。也许同样的事情也适用于mime-part。在设置内容后尝试设置标头(大概会覆盖JavaMail在设置内容时决定的任何内容)。

FWIW,我正在使用JavaMail 1.5.5

 类似资料:
  • 我有一些Java代码,它发送一封电子邮件,代码类似如下:实际上,我从Httprequest param获得了Mimemessage,在该Mimemessage中,我将在现有的主体中附加一些内容。 如果消息是text/plain和text/html content-type,我设置的content-transfer编码就不适用于body。 基于此文档 问:尽管JavaMail为我完成了所有的编码和解

  • 我使用javax邮件api在imap服务器上读取消息。我检查消息内容传输编码,因为如果有必要,我会进行mime解码。 最近,我遇到了一个问题:我的代码在消息上找不到任何内容传输编码。这怎么可能?

  • 我对RESTful API和处理MIME内容都是新手。我正在尝试编写一个应用程序,从Gmail邮箱中检索消息,以便进一步处理。 我使用Google Developers API reference作为工具来熟悉API。使用以下GMail API参考中的“尝试一下”特性 https://developers.google.com/gmail/api/v1/reference/users/messag

  • 我正在开发一个可以阅读的电子邮件查看器。eml文件并在浏览器控件中显示消息。我找到了代码片段,它可以显示7位和引用的可打印消息(内容传输编码:引用的可打印/内容传输编码:base64)。我需要的是解码8位消息。 我在谷歌上搜索了一个8位解码器,但找不到。我真的需要一个8位解码器吗?你知道一个好的解码器吗? 更新: 相关标题: 我的代码中的正文消息(字符串行): Outlook在现实世界中显示的内容

  • 我希望我可以检查并将可选的内容转换为另一个类或拥有一个空对象,而不是编写自己的方法或类。 对于应用程序中的这个子问题,我希望将树节点实例的自定义用户对象转换为自定义用户对象,前提是树节点是默认可变树节点的实例。 我记得我需要经常以这种方式播放可选或流。它不流利。实际上,我希望java Optional或Stream有一个执行上述步骤的cast方法。我不想编写自己的fluent CustomOpti

  • 我有一个应用程序,可以通过发送带有附件的电子邮件与其他人的服务器进行对话。 我使用Apache Commons电子邮件发送带有附件的电子邮件,如下所示: 问题是,另一端的人说“标头信息的Content-Transport-Encode值为“7bit”,它需要“可引用可打印”。 我的问题是,如何进行此更改,以便以适当的方式附加文件? 抢劫