J'ai une application de console C# que j'utilise pour rechercher dans un compte Gmail des e-mails avec des pièces jointes et les télécharger. J'utilise MailKit.Net.Imap.ImapClient pour ce faire.MailKit.Net.Imap lire les pièces jointes Gmail lorsque "Content-Disposition; inline" est défini
Si l'e-mail a été envoyé avec l'option "Content-Disposition; attachment", tout fonctionne correctement. Si l'e-mail a été envoyé avec l'ensemble "Content-Disposition; inline", ImapClient ne voit pas les pièces jointes et je ne peux pas les télécharger.
Ci-dessous le code que j'utilise pour le faire. Est-ce que quelqu'un a une idée de comment résoudre ce problème?
static public void mail_ReadEmail()
{
string mail_login = "your login here";
string mail_password = "your password here";
string mail_folderName = "your gmail folder name here";
// Get client & open folder
ImapClient client = mail_GetImapClient(mail_login, mail_password);
IMailFolder folder = mail_GetIMailFolder(client, mail_folderName);
// Get emails
DateTime startTime = DateTime.Now.AddMonths(-6);
IList<UniqueId> email = folder.Search(SearchQuery
.DeliveredAfter(startTime)
.And(SearchQuery
.FromContains("canon.co.nz")));
// Loop through emails (oldest first)
for (int i = email.Count - 1; i >= 0; i--)
{
// Get message and display subject and date
MimeMessage message = folder.GetMessage(email[i]);
Console.WriteLine(message.Subject + " - " + message.Date.DateTime.ToShortDateString());
// Show all attachments for this message
foreach (MimePart part in message.Attachments)
Console.WriteLine("\t* " + part.FileName);
}
}