问题标签 [quoted-printable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
329 浏览

python - 去除破坏 readline() 的不需要的字符

我正在编写一个小脚本来遍历版权通知电子邮件的大文件夹并查找相关信息(IP 和时间戳)。我已经找到了绕过一些小格式障碍的方法(有时 IP 和 TS 在不同的行上,有时在同一行,有时在不同的地方,时间戳有 4 种不同的格式,等等)。

我遇到了一个奇怪的问题,我正在解析的一些文件在一行中间喷出奇怪的字符,破坏了我对 readline() 返回的解析。在文本编辑器中阅读时,有问题的行看起来很正常,但 readline() 会在 IP 中间读取一个 '=' 和两个 '\n' 字符。

例如

知道如何解决这个问题吗?我真的无法控制可能导致这种情况的问题,我只是需要处理它而不会太疯狂。

相关功能,供参考(我知道这是一团糟):

0 投票
1 回答
1183 浏览

python - 从 gmail API 获取正确的电子邮件编码

0 投票
1 回答
214 浏览

email - 在 Rust 中解码带引号的可打印电子邮件字符串(如 =?UTF-8?Q??=D1=81_=D0)

有没有什么好的箱子可以解码邮件主题、发件人等中的可引用打印字符串?

我刚刚找到了一个名为quoted_printable的迷你箱子。但这并没有太大帮助。例如从类似的字符串

=?utf-8?Q?=D0=A1=D0=B1=D1=80=D0=BE=D1=81_=D0=BF=D0=B0?= =?utf-8?Q?=D1=80 =D0=BE=D0=BB=D1=8F_=D0=BD=D0=B0_=D1=81=D0=B0=D0=B9=D1=82?= =?utf-8?Q?=D0=B5 ?=

我得到

"=?utf-8?Q?Сброс_па?= =?utf-8?Q?роля_на_сайт?= =?utf-8?Q?е?="

是否有任何板条箱可以在没有=?utf-8?Q 的情况下给我很好的字符串?等等?

0 投票
1 回答
674 浏览

ruby - 如何在 Ruby 中使用带引号的可打印编码正确解码字符串

我正在尝试解码我​​认为出现在 MBox 电子邮件存档中的一些引用可打印编码文本。我将举一个我遇到问题的文本的例子。

在 MBox 中,出现以下文本:

“Theresa Castel=E3o-Lawless 的划界”

正确解码,我认为这应该显示为:

“Theresa Castelão-Lawless 的划界”

我的陈述是基于它应该看起来像什么

1) 电子邮件的网络存档,其中的文本正确呈现为“Theresa Castelão-Lawless 的划界”

和 2) 这个页面,它显示“=E3”对应于引用打印https://www.ic.unicamp.br/~stolfi/EXPORT/www/ISO-8859-1-Encoding 的“ã”。 html

我已经尝试了下面的代码,但它给出了错误的输出。

上面代码的结果是“Theresa Castel?o-Lawless 的划界”,但如上所述,我想要“Theresa Castel?o-Lawless 的划界”

0 投票
1 回答
245 浏览

c# - 如何解码用 C# 编码的电子邮件引用可打印

我在这里寻找了许多解决方案,但仍然没有找到解码电子邮件引用可打印的工作解决方案。

示例输入:

示例预期输出是:

以下www.webatic.com/quoted-printable-convertor是正确的渲染。

有人有想法用 C# 解决这个问题吗?

0 投票
1 回答
517 浏览

python - 引用的可打印行延续错误?

我正在编写代码来生成报告并通过电子邮件发送。在这种情况下,我试图将报告嵌入为 html 正文,但 Outlook 未正确呈现报告的某些部分。特别是它似乎是引用的可打印编码的伪影。我看不到我的编码文本有任何问题。

我已将问题缩小到以下示例:

将此保存为 *.eml 文件并在 Outlook 中打开,我注意到两个问题:

1)表格单元格内的文本在第二个日期之前有一个等号而不是一个空格:

它应该是这样的:

2)最后有一个“=0”,可能是制表符中的一个伪影,它被编码为=09。自动剥离这些选项卡是有问题的,因为报告是从用户编辑的模板生成的。很难知道制表符在某些情况下是否相关。

实际上,我可以通过在 html 内容的末尾强制添加一个额外的 \n 来解决第二个问题,但我将其包括在此处,以防它与理解上面的问题 #1 有关。

PS我在“eM Client”中加载了文件,它没有遇到这些故障。我倾向于认为这可能是 Outlook 中的一个错误,但如果这是我的错误,它会更简单(而且更有可能)。

0 投票
1 回答
621 浏览

email - 电子邮件中的 UTF-8 编码,解析正文

所以我真的不希望这个问题是特定于语言的,但是我怀疑 Go(我的语言选择)在这里发挥了作用。我试图在原始电子邮件的正文中找到一个字符串。为此,我得到了编码,大多数情况下是quoted-printable. 好的,那很好,我正在编码我的搜索查询引用可打印,然后搜索它。这样可行。然而。在一种特定情况下,我在 gmail 中看到的原始电子邮件看起来不错,但是当我从 gmail API 检索原始电子邮件时,尽管编码和一切都是相同的,但它的编码"正如=22 Research 向我展示的那样,因为字符集是utf-8. 我还没有完全弄清楚那是编码 utf-8 然后引用打印或其他方式,但这也不是问题......如果我查看电子邮件,我"=22看到字符集是utf-8,当我查看另一个未编码的地方时,字符集是UTF-8(注意这种情况)。我不敢相信这里的情况是导致这种情况发生的原因,但它似乎不是一个足够强大的方法来确定=22它实际上是编码的 utf-8=22还是"编码的 utf-8。

我最初的想法是始终解码引用的可打印内容,然后在进行搜索之前对其进行重新编码,但我认为这不会是一种稳健的方法,并且认为其他人可能有更好的建议?

结论,我试图在原始电子邮件中找到一个字符串,但编码导致我无法让我的搜索字符串与正文的编码相匹配

0 投票
0 回答
146 浏览

php - 引用打印的电子邮件主题行没有被电子邮件客户端解码

我编写了一个 WordPress 插件,它可以发送新的帖子通知。有一个设置可以将主题行从 html 实体转换为quoted-printable,因此它们将在任何电子邮件客户端上以 UTF-8 显示。几周前,我开始收到有关引用的可打印主题行保持原样而不是被解码的报告。

示例主题标题:

Subject: =?UTF-8?Q?[Pranamanasyoga]=20Foro=20Pranamanasyoga=20:=20estr?= =?UTF-8?Q?=C3=A9s=20y=20resilencia?=

我无法在本地复制它,也无法在记者之间找到任何共同点。

生成引用打印行的代码是这样的:

如果我尝试解码它,它工作正常:

结果:

我注意到但认为不相关的一件事是我的代码实际上在第二个=?UTF-8?Q?部分之前添加了一个换行符并且电子邮件主题标题没有它。使用和不使用换行符解码字符串的工作方式相同。

是否有人对可能导致电子邮件客户端(包括 Gmail)按原样显示字符串而不是将其解码为 UTF-8 的原因有想法/建议?

PS 在写这篇文章时,我看到了一个mb_encode_mimeheader()在不同线程中使用的建议。它似乎iconv_mime_decode()在我的测试代码中运行良好,但输出字符串确实与原始字符串不同:

是不是电子邮件客户更喜欢这种格式而不是原始格式?

0 投票
1 回答
79 浏览

mime - 这是合法的引用可打印编码吗?

这是合法的引用可打印编码吗?

这个怎么样?

我想知道 = 是否可以在没有编码的情况下出现,并且像 =3D 这样的编码可以放在两行。RFC 是模棱两可的。

0 投票
1 回答
372 浏览

c# - 如何解码引用的可打印电子邮件标题(使用 MimeKit)

我从电子邮件中获得了这个标题:(仅某些标题,来自日志文件,而不是整个邮件)

如何将“发件人:”之后的部分解码为我将其输入到 Thunderbird 以发送消息时的 Unicode 字符串?

其他相关事件是我认为我已经看到过这样的主题标题:

我已经QuotedPrintableDecoder在 MimeKit 中找到了这个类,但不知道如何使用它。似乎希望我让它猜测解码的字节数,然后将字节从希望足够大的缓冲区转换为字符串,但没有告诉我要使用什么编码。

我需要一个简短的示例来说明如何转换包含部分引用的可打印单词(包括指定的编码)的此类标头字符串。人们期望在文档中找到的那种示例。实际上所有数据都在这里,但需要从一个字符串转换为另一个字符串。

另一个黑客使用Attachment.CreateAttachmentFromString在这里失败。它可以解码整个 QP 字符串,但不能解码像这样的混合格式。

PS:如果 .NET Core 3.1 或 5.0 中有不需要 MimeKit 的解决方案,我也很乐意接受!