我目前正在使用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或解决此问题的任何其他库来实现。
答案 0 :(得分:2)
POP3
没有搜索功能。这是一种非常简单的协议,用于列出存在的消息并下载。
如果您希望进行服务器搜索,则需要使用功能更全的协议,例如IMAP
,ActiveSync
,或者根据服务器使用基于HTTP的自定义库。
实际上,您可以使用数十种不同的IMAP
库。