如何将收件箱中的电子邮件移至某个文件夹,例如文件夹“ test ”
Pop3Client client = new Pop3Client()
客户端包含以 html , xml 等方式接收电子邮件的方法,删除电子邮件或删除所有电子邮件,但我需要移动有些电子邮件到另一个文件夹,有可能吗?
答案 0 :(得分:1)
OpenPop实现了POP3协议。这个协议很旧,不知道folders
这样的事情。因此,OpenPop实现也无法处理文件夹。
如果您需要使用文件夹,请考虑使用某些IMAP客户端。 IMAP是一种更新,更现代的协议。
答案 1 :(得分:0)
正如J.斯蒂恩指出的那样。不,你不能使用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);
}
}
}