J'ai regardé d'autres exemples en ligne, mais je n'arrive pas à comprendre comment télécharger et stocker TOUTES les pièces jointes d'un objet MimeMessage. J'ai regardé dans le WriteTo(), mais je ne pouvais pas le faire fonctionner. Vous vous demandez également si les pièces jointes seront enregistrées en fonction du nom de fichier d'origine, et tapez dans l'e-mail. Voici ce que j'ai jusqu'à présent: « Comment puis-je enregistrer des pièces jointes »MailKit: Comment télécharger toutes les pièces jointes en local à partir d'un MimeMessage
using (var client = new ImapClient())
{
client.Connect(Constant.GoogleImapHost, Constant.ImapPort, SecureSocketOptions.SslOnConnect);
client.AuthenticationMechanisms.Remove(Constant.GoogleOAuth);
client.Authenticate(Constant.GoogleUserName, Constant.GenericPassword);
if (client.IsConnected == true)
{
FolderAccess inboxAccess = client.Inbox.Open(FolderAccess.ReadWrite);
IMailFolder inboxFolder = client.GetFolder(Constant.InboxFolder);
IList<UniqueId> uids = client.Inbox.Search(SearchQuery.All);
if (inboxFolder != null & inboxFolder.Unread > 0)
{
foreach (UniqueId msgId in uids)
{
MimeMessage message = inboxFolder.GetMessage(msgId);
foreach (MimeEntity attachment in message.Attachments)
{
//need to save all the attachments locally
}
}
}
}
}
Vous devrez effectuer un nettoyage des noms de fichiers. Vérifiez les dupes, supprimez les mauvais caractères ... – Max