2

如何将电子邮件从收件箱移动到某个文件夹,例如文件夹“ test

Pop3Client client = new Pop3Client()

客户端包含在htmlxml等中获取电子邮件的方法。也可以删除电子邮件或删除所有电子邮件,但我需要将一些电子邮件移动到另一个文件夹,可以吗?

4

2 回答 2

2

OpenPop 实现了 POP3 协议。该协议很旧,并且不知道诸如folders. 因此,OpenPop 实现也不能处理文件夹。

如果您需要使用文件夹,请考虑使用一些 IMAP 客户端。IMAP 是一种更新、更现代的协议。

于 2015-01-19T10:34:35.490 回答
0

正如 J. Steen 指出的那样。不,您不能使用 OpenPop。

只要把你仍然想这样做,这不是一个纯粹的学术问题。取自MSDN

如何:以编程方式在 Outlook 中移动项目

此示例将未读电子邮件从收件箱移至名为 Test 的文件夹。该示例仅移动主题字段中包含单词 Test 的邮件。

适用于:本主题中的信息适用于 Outlook 2013 和 Outlook 2010 的应用程序级项目。有关详细信息,请参阅 Office 应用程序和项目类型可用的功能。

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.NewMail += new Microsoft.Office.Interop.Outlook.
        ApplicationEvents_11_NewMailEventHandler
        (ThisAddIn_NewMail);
}

private void ThisAddIn_NewMail()
{
    Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application.
        ActiveExplorer().Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderInbox);
    Outlook.Items items = (Outlook.Items)inBox.Items;
    Outlook.MailItem moveMail = null;
    items.Restrict("[UnRead] = true");
    Outlook.MAPIFolder destFolder = inBox.Folders["Test"];
    foreach (object eMail in items)
    {
        try
        {
            moveMail = eMail as Outlook.MailItem;
            if (moveMail != null)
            {
                string titleSubject = (string)moveMail.Subject;
                if (titleSubject.IndexOf("Test") > 0)
                {
                    moveMail.Move(destFolder);
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
}
于 2015-01-19T09:14:19.450 回答