Загруженное вложение электронной почты не сохраняется правильно с использованием ImapX и C#

Я пишу программу на C# для доступа к электронным письмам UNREAD из Gmail с использованием ImapX (версия 2.0.0.13). Я хочу загрузить файлы PowerPoint (.ppt или.pptx) специально во вложении. Я сделал загрузку вложения работы.

Тем не менее, загрузки не сохраняются правильно на диске. Например, если вложение имеет размер 3,5 МБ, сохраняется только 2,4 МБ.

Я пропустил шаг здесь?

Вот мой код:

using(ImapClient client = new ImapClient(host, port, true, true))
{
    if (client.Login(username, password))
    {
        FolderCollection folders = client.Folders;
        Message[] messages = client.Folders["INBOX"].Search("UNSEEN", MessageFetchMode.Attachments, 100);

        for (int i = 0; i < messages.Length; i++)
        {
            if (messages[i].Attachments.Length > 0)
            {
                Attachment[] atts = messages[i].Attachments;
                for (int j = 0; j < atts.Length; j++)
                {
                    if (atts[j].FileName.Contains("ppt") || atts[j].FileName.Contains("pptx"))
                    {
                        atts[j].Download();
                        atts[j].Save(SAVE_LOCATION, atts[j].FileName);
                    }
                }
            }
        }
    }
}

1 ответ

Решение

Проблема была решена после того, как я скачал обновленный исходный код с сайта ImapX. Теперь он отлично работает с приведенным выше исходным кодом.

Другие вопросы по тегам