根据主题在.net中获取邮件消息线程

时间:2018-11-05 14:14:48

标签: c# .net pop3

我目前正在使用openPOP库在.net应用程序中提取邮件。但是,除了获取整个邮件并从检索到的邮件中进行搜索之外,openPOP库似乎没有办法根据主题搜索邮件。但这需要花费大量时间。

以下是我的代码,该代码基于“ HeaderVal”的搜索条件来提取邮件:

 HeaderVal = "Case detail LEA/ED/05111802";
 var client = new Pop3Client();

 using (Pop3Client client2 = new Pop3Client())
 {
     // Connect to the server
     client.Connect("pop.gmail.com", 995, true);

     client.Authenticate("recent:" + userName, password, AuthenticationMethod.UsernameAndPassword);
     //var count = client.GetMessageCount();

     // Get the number of messages in the inbox
     int messageCount = client.GetMessageCount();

     //  MessageHeader messageHeader =;
     // We want to download all messages
     List<Message> allMessages = new List<Message>(messageCount);

     //var requiredMessage = allMessages.Where(x=>x.Headers == HeaderVal).

     for (int i = messageCount; i > 0; i--)
     {
         allMessages.Add(client.GetMessage(i));
     }

     var RequiredMessage = allMessages.Where(x=>x.Headers.Subject.ToString().ToLower().Trim() == HeaderVal.ToLower().Trim());
}

我还需要获取对相应邮件的答复,但无法获得。请建议是否可以使用openPOP或解决此问题的任何其他库来实现。

1 个答案:

答案 0 :(得分:2)

POP3没有搜索功能。这是一种非常简单的协议,用于列出存在的消息并下载。

如果您希望进行服务器搜索,则需要使用功能更全的协议,例如IMAPActiveSync,或者根据服务器使用基于HTTP的自定义库。

实际上,您可以使用数十种不同的IMAP库。