如何从ActiveUp.Net.Mail.Message获取UID或如何通过MessageId进行搜索?

时间:2013-04-08 13:54:41

标签: c# imap

我想在IMAP4服务上搜索和删除带有ActiveUp.Net.Mail库的邮件。如果我知道MessageId,我不知道如何从ActiveUp.Net.Mail.Message获取UID或如何使用所选文件夹搜索邮箱。

当然我之前已经收到了消息,所以我知道它是MessageId

最诚挚的问候。

1 个答案:

答案 0 :(得分:1)

我知道为时已晚,但是今天我遇到了同样的问题,因此,也许还有其他人在寻找答案。这是对我有用的解决方案:

// Select the Mailbox you want to query
Mailbox Inbox = _client.SelectMailbox("Inbox");

for (int x=Inbox.MessageCount; x>0; x--)
{
    Message email = Inbox.Fetch.MessageObject(x);
    ProcessEmail(email, x);
}

基本上,messageOrdinal是邮件的索引(例如:gmail收件箱中的位置),但是您必须自己保留引用,因为ActiveUp.Net.Mail.Message将不提供任何检索它的功能。

ProcessEmail函数中,您将收到messageOrdinal作为输入参数:

public void ProcessEmail(Message email, int messageOrdinal)
{
    //...
}