问题标签 [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 回答
1683 浏览

utf-8 - Thunderbird 的 UTF-8 引用可打印多行主题?

假设我想编写一个带有 UTF-8、可引用打印的编码主题的电子邮件标头,即“ test — UNIX-утилита для проверки типа файла и сравнения значений”。我可以使用以下方法确认字符的字节:

p>

所以,我正在尝试获取 UTF-8,引用的可打印表示。例如,使用 Python 的quopri

...或 PHP's quoted_printable_encode,它给出完全相同的输出:

因此,为了进行测试,我制作了一个名为 的文本文件test.eml,并尝试将此输出简单地包装在该行的=?UTF-8?Q?...?=标记中Subject:,确保行尾为 CRLF \r\n

...但是如果我在 Thunderbird 中打开它,我会得到一个损坏的输出:

测试1

我在某处读到,RFC0822 “LONG HEADER FIELDS”涵盖了长标题字段中的多行,基本上,行尾应该跟一个空格。所以我将续行缩进一个空格:

...我在 Thunderbird 中得到了一个稍微不同的主题,但仍然很腐败:

测试2.png

现在,如果我从前三个续行中删除=\r\n,那么主题就在一行中:

...然后实际上 Thunderbird 很好地显示了主题行:

测试3.png

...但是我的标头与RFC 2822 - 2.1.1 的建议相冲突。Line Length Limits说“每行字符必须不超过 998 个字符,并且应该不超过 78 个字符,不包括 CRLF。”;特别是 78 个字符的行限制。

那么,如何获得 UTF-8 主题标头字符串的正确多行带引号打印表示,以便我可以.eml在 78 个字符的文件拆分中使用它 - 并让 Thunderbird 正确读取它?

0 投票
5 回答
1809 浏览

macos - 在 Swift 中解码引用的可打印消息

我有一个带引号的可打印字符串,例如“成本为 =C2=A31,000”。如何将其转换为“成本为 1,000 英镑”。

我现在只是手动转换文本,这并不涵盖所有情况。我确信只有一行代码可以帮助解决这个问题。

这是我的代码:

谢谢

0 投票
0 回答
2023 浏览

python - Python - 如何从电子邮件文件中提取 URL(plain/html、quote-printable/base64/7bit)

我在很多地方进行了搜索,但我没有遇到从电子邮件中正确提取 URL 的逻辑/脚本。所以,我正在展示我想出的东西。这对我来说非常有效。

这可以处理纯文本和 html-text 内容类型,支持quoted-printable、base64 和 7 位编码。

注意:我将其作为另一项任务的一部分编写,您可能需要对其进行调整以满足您的需要。发表任何问题,我可以帮助回答。

要为此工作导入的模块:

以下是我编写的用于完成这项工作的 API:

以下是调用此 API 的方法:

0 投票
1 回答
138 浏览

go - mime.quotedprintable 无法解码此消息

我正在尝试解码一条不完全符合该Quoted Printable String想法的消息。

如下所示的片段之一有一个=where should be an =3Dthis 出现在许多地方。事实上,这里发生了两种违法行为:

我正在解码如下:

产生的错误是:(抱怨第一个=之后的_)

请问我该如何解决这个问题?谢谢你。

0 投票
5 回答
1730 浏览

c# - 如何转换引用打印字符串

我正在使用 .NET Decoding a Mail body 中的法语字符串,我收到“Chasn=C3=A9 sur illet”我想获得“Chasné sur illet”,但我在 2 天的网络搜索中找不到任何解决方案。

C# 或 VB.NET 谁能帮助我?

谢谢

0 投票
1 回答
77 浏览

vcf-vcard - 是否可以生成 vcards 2.1 来解决 Thunderbird 换行错误?

当然不会破坏符合规范的软件的兼容性!

漏洞链接:https ://bugzilla.mozilla.org/show_bug.cgi?id=589332

在编码为 Quoted printable 的字段中,Thunderbird 在每个换行符处添加一个额外的空格。

0 投票
1 回答
1901 浏览

python - 使用 python VObject 包解析 VCARD 文件时出错

我是 python 新手。我正在尝试使用python 包解析VCARD 2.1文件。 我正在尝试解析此 VCARD 文件: vobject 0.9.2

这些是我使用的python命令:

然后我收到以下错误:

错误日志链接https://paste.fedoraproject.org/391670/46866724/

Python 显示strobject 没有属性decode

这是发生错误的 vobject 包源代码中的代码片段:

通过阅读 stackoverflow 中的类似问题,我了解到 vobject 包正在尝试解码已经解码的字符串。所以我什至尝试将 vcf 文件转换为二进制字符串并将其作为输入提供给vobject.readOne.

但它不工作。

我必须做什么才能成功解析VCARD文件?
请有人帮我...

编辑:现在我知道这个错误是由于vobject与 python 3 不兼容。我可以做一些小技巧来克服这个错误吗?

0 投票
1 回答
2850 浏览

jakarta-mail - 使用 javax.mail.internet.MimeUtility 或其他方式从变量转换/解码邮件“引用打印”字符串?

我有一个 .eml 文件的文本内容,我将它放入一个变量中,我会解析它的内容,包括转换不同的格式。如果在标题中“引用可打印”字符串有包围标签=?UTF-8?问?……?= mimeUtlility.decodeText () 函数运行良好,但如果我在没有这些标签的电子邮件正文中有编码文本“quoted-printable”,则 javax.mail.internet.MimeUtility 的 mimeUtlility.decodeText () 不会。如何解码这些不同格式和字符集的文本?部分文本的示例:“Cell Manager S = = E9 E9curit / Pr = E9vention / Suret = E9”,有时在行尾有“=CRLF”

0 投票
0 回答
71 浏览

email - 通过 Rails 中的 IMAP 接收来自 gmail 的邮件

我正在尝试从 gmail 获取邮件..但是在将邮件保存到数据库时遇到了一个严重的问题。正文内容在连续行保存后带有“=”。如下——

0 投票
1 回答
1296 浏览

r - 在R中解码带引号的可打印字符串

我从 Gmail 导出的 .mbox 文件中提取了显示的发件人姓名,并使用 tm.plugin.mail 读取。一些名称采用“引用打印”格式(例如 =?UTF-8?Q?stern=2Ede_-_t=C3=A4glich?=),包括特殊字符和看起来像编码规范的东西(=? UTF-8?)。我想将这些转换为 UTF-8 或 latin1 编码的字符向量。

我已经尝试过Encoding(),并且iconv()我将用于其他编码问题但没有成功:

这里有同一个问题的一个答案,但答案只是从操作示例复制的示例Encoding(),不适用于操作示例。还有其他几个问题与 Go 和 C 中的问题以及PHPjavascript中的函数有关,但我不知道如何从 R 调用它们或将它们导出到 R。

编辑:我现在使用 Python 并quopri.decodestring()通过 rPython 包,但该解决方案似乎不是很有效。

是否有任何其他 R 函数/包可以转换引用打印?我可以扩展iconv()以转换引用打印吗?