一般来说,我试图通过 SMTP 客户端将内部工作邮件中的一封信发送到位于 rambler 的邮箱。我将带有西里尔文名称的 *.xlsx 文件附加到此附件中。
问题是在信件的附件中它显示为 2.bin,尽管它可以正确地发送给其他邮件。该文件在发送时没有损坏,因为如果重命名它,它可以通过 Excel 正确打开。
如果你把名字改成拉丁文,那么问题就消失了……但是,我不明白这个名字的转换与什么有关……如果编码有问题,那么名字会显示为一些有点胡言乱语。
也许有人遇到过类似的问题?
我通过 C# 代码发送一封信,我使用 MailKit,
总的来说,我进行了各种实验,发现如果我从 Outlook 发送相同的信件,那么它会正确地到达漫游者。
原来是标题:
需要对文件名进行Base64编码并指定编码,然后就正常来了。
顺便说一句,Outlook 执行对齐并将部分文件名传输到另一行(一个和另一个提到 utf-8 的几个)。
如果您从 rambler 发送到 rambler,则它使用不同的编码:
但是 UTF-8 也可以消化。
MailKit 是这样发送的:
大概,这是漫步者看不懂的某种标准……