如何从ImapX 2中的文件夹中获取所有消息?

时间:2016-01-25 23:53:29

标签: c# imap

我正在使用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);
                                }
                        }
                    }
                }

1 个答案:

答案 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将请求与给定查询匹配的所有消息。