2017-01-25 3 views
0

J'utilise MimeKit pour créer des courriers cryptés s/mime avec des pièces jointes. Dès qu'un nom de pièce jointe comporte des caractères spéciaux, par ex. Par exemple, le nom de la pièce jointe est perdu et est affiché comme "pièce jointe 123.dat" dans Outlook. Les mails non cryptés fonctionnent bien, donc la seule différence est juste msg.Encrypt (contexte).Cryptage des courriers avec des caractères spéciaux dans les noms de pièces jointes

Existe-t-il des contraintes dans MimeKit concernant ce cas d'utilisation ou dois-je faire plus pour que cela fonctionne?

Répondre

0

itérer sur les paramètres ContentType et ContentDisposition de l'attache (avant le chiffrement) et régler le EncodingMethod de chaque paramètre pour ParameterEncodingMethod.Rfc2047.

Le problème est probablement que Outlook ne peut pas gérer le codage rfc2231 des valeurs de paramètre.

exemple:

foreach (var param in attachment.ContentType.Parameters) 
    param.EncodingMethod = ParameterEncodingMethod.Rfc2047; 
foreach (var param in attachment.ContentDisposition.Parameters) 
    param.EncodingMethod = ParameterEncodingMethod.Rfc2047; 
+0

semble fonctionner très bien! Merci beaucoup! –