J'ai regardé beaucoup d'autres questions sur stackoverflow à ce sujet, mais je suis toujours confus. Je veux télécharger les pièces jointes des courriels - j'ai réussi à le faire, mais seulement si l'email avait UNE pièce jointe; Quand un email a plus d'une pièce jointe, il cesse de fonctionner.Comment télécharger plusieurs pièces jointes par message avec MailKit?
Comment télécharger plusieurs pièces jointes par e-mail?
De plus, existe-t-il un moyen de déterminer l'extension de fichier lors du téléchargement? Actuellement, par exemple, s'il y a une pièce jointe au format PDF, le fichier est téléchargé, mais sans .pdf, donc Windows ne connaît pas le type de fichier. Le code ci-dessous est d'ici: MailKit save Attachments. J'ai basé mon code sur ça.
foreach (var attachment in message.Attachments)
{
using (var stream = File.Create ("fileName"))
{
if (attachment is MessagePart)
{
var part = (MessagePart) attachment;
part.Message.WriteTo (stream);
}
else
{
var part = (MimePart) attachment;
part.ContentObject.DecodeTo (stream);
}
}
}
Aidez-nous! Merci!
C'est exactement ce que le problème était - merci! Il ne reconnaissait pas l'attachement comme une «pièce jointe» (donc il n'y avait pas de «Content-Disposition: attachment» heaer), parce qu'il venait par le corps de l'e-mail, donc 'message.BodyParts' est exactement ce dont j'avais besoin. Merci pour l'aide. – coltonhurst