我正在用C#编写一个程序,使用ImapX(2.0.0.13版)访问Gmail中的UNREAD电子邮件。我希望特别下载附件中的powerpoint(.ppt或.pptx)文件。我已经下载了附件。
但是,下载内容没有正确保存在磁盘上。例如,如果附件大小为3.5 MB,则只保存其中的2.4 MB。
我是不是少了一步?
这是我的代码:
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);
}
}
}
}
}
}
在我从ImapX站点下载更新的源代码后,问题得到了解决。它现在与上面的源代码完美结合。