Mailkit和Mimekit的标头编码问题

时间:2019-04-12 12:13:43

标签: c# mailkit mimekit

当我使用Mailkit发送电子邮件时,我注意到它会自动决定对内容和标头进行编码。现在,内容编码是完美的,但是某些电子邮件客户端很难解码像这样的标头。

有没有一种方法可以指示客户端不对某些标头进行编码? 列表退订:  =?us-ascii?q?= 3Chttps = 3A = 2F = 2Fbarlinkar = 2Eus19 = 2Elist-manage = 2Ecom = 2Funsubscribe = 3Fu = 3D8c60690?=  =?us-ascii?q?5a7e637766f218816b&id = 3D2e47bac84d&e = 3D407e758886&c = 3De27229afde = 3E = 2C?=  =?us-ascii?q?_ = 3Cmailto = 3Aunsubscribe-mc = 2Eus19 = 5F8c606905a7e637766f218816b = 2Ee27229a?=  =?us-ascii?q?fde-407e758886 = 40mailin = 2Emcsv = 2Enet = 3Fsubject = 3Dunsubscribe = 3E?= X-报告滥用:  =?us-ascii?q?= 3Chttps = 3A = 2F = 2Fmailchimp = 2Ecom = 2Fcontact = 2Fabuse = 2F = 3Fu = 3D8c606905a7e637766f218?=  =?us-ascii?q?816b&id = 3De27229afde&e = 3D407e758886 = 3E?= 至:k ****@****.***

编辑:Jstedfast指出了一些错误,我已将其修复,但总体结果是相同的。

1 个答案:

答案 0 :(得分:1)

我怀疑问题在于标头值已编码。开头的值无效。

这是您使用的原始值:

https://barlinkar.us19.list-manage.com/unsubscribe?u=8c606905a7e637766f218816b&id=2e47bac84d&e=407e758886&c=e27229afde>, <mailto:unsubscribe-mc.us19_8c606905a7e637766f218816b.e27229afde-407e758886@mailin.mcsv.net?subject=unsubscribe>List - Unsubscribe - Post: List - Unsubscribe = One - Click

您认为这有什么问题吗?

首先,每个URL应该用<>括起来。您的第一个网址缺少开头的<字符。

第二,在List-Unsubscribe-Post标头的值中包含List-Unsubscribe标头。它们必须是2个不同的标头。

换句话说,接收方的客户可能会因为该值完全被误认为应该是什么而感到困惑。