2017-01-25 9 views
0

Я использую MimeKit для создания зашифрованных почтовых сообщений s/mime с вложениями. Как только имя вложения имеет специальные символы, например. äüö, имя attachemnt теряется и отображается как «noamend attachment 123.dat» в Outlook. Нешифрованные письма прекрасно работают, поэтому единственная разница - это просто msg.Encrypt (контекст).Шифрование писем со специальными символами в именах вложений

Есть ли какие-то ограничения в MimeKit в отношении этого прецедента или мне нужно сделать больше, чтобы заставить это работать?

ответ

0

итерацию по 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; 
+0

Кажется, работает отлично! Большое спасибо! –