加密附件名称中含有特殊字符的邮件
Encrypting mails with special characters in attachment names
我正在使用 MimeKit 创建 s/mime 带附件的加密邮件。
只要附件名称有特殊字符,例如äüö,附件名称丢失并在 Outlook 中显示为 "unnamend attachment 123.dat"。
未加密的邮件很好,所以唯一的区别只是 msg.Encrypt(context).
MimeKit 中是否存在关于此用例的一些限制,或者我是否必须做更多工作才能使其正常工作?
迭代附件的 ContentType
和 ContentDisposition
参数(加密前)并将每个参数的 EncodingMethod
设置为 ParameterEncodingMethod.Rfc2047
。
问题可能是 Outlook 无法处理参数值的 rfc2231 样式编码。
示例:
foreach (var param in attachment.ContentType.Parameters)
param.EncodingMethod = ParameterEncodingMethod.Rfc2047;
foreach (var param in attachment.ContentDisposition.Parameters)
param.EncodingMethod = ParameterEncodingMethod.Rfc2047;
我正在使用 MimeKit 创建 s/mime 带附件的加密邮件。 只要附件名称有特殊字符,例如äüö,附件名称丢失并在 Outlook 中显示为 "unnamend attachment 123.dat"。 未加密的邮件很好,所以唯一的区别只是 msg.Encrypt(context).
MimeKit 中是否存在关于此用例的一些限制,或者我是否必须做更多工作才能使其正常工作?
迭代附件的 ContentType
和 ContentDisposition
参数(加密前)并将每个参数的 EncodingMethod
设置为 ParameterEncodingMethod.Rfc2047
。
问题可能是 Outlook 无法处理参数值的 rfc2231 样式编码。
示例:
foreach (var param in attachment.ContentType.Parameters)
param.EncodingMethod = ParameterEncodingMethod.Rfc2047;
foreach (var param in attachment.ContentDisposition.Parameters)
param.EncodingMethod = ParameterEncodingMethod.Rfc2047;