我正在使用ImapX 2,我想从所有文件夹中获取消息和附件
这是我的代码,我可以获取所有文件夹,但消息不是。如何获取消息?
if (client.Login(login, pass))
{
// login successful
FolderCollection folders = client.Folders;
foreach (Folder myfolder in folders)
{
var messages = myfolder.Messages;
foreach (var message in messages)
{
MessageBox.Show(message.Subject);
var attachments = message.Attachments;
if (attachments.Count() > 0)
foreach (var attachment in attachments)
{
MessageBox.Show(attachment.FileName);
}
}
}
}
答案 0 :(得分:0)
在您可以访问消息之前,您需要下载它们
myfolder.Messages.Download();
foreach (var message in messages)
{//your code}
你可以使用参数,这里有文件说
public void Download([string query = "ALL"], [ImapX.Enums.MessageFetchMode mode = ImapX.Enums.MessageFetchMode.ClientDefault], [int count = -1])
Member of ImapX.Collections.MessageCollection
要点: 使用默认或给定模式从服务器下载消息。
参数: query:用于过滤消息的搜索查询。 ALL默认情况下 mode:消息获取模式,允许选择要求消息的哪些部分。 count:将请求的最大消息数。将count设置为-1将请求与给定查询匹配的所有消息。