MAPI NameSpace(摘抄)
获得现有 Outlook 项
除了创建新项以外,Outlook 2003 模型还允许获得(并且可能修改)现有项。不管对枚举哪个 Outlook 项感兴趣,基本过程都是:
-
从 Application.GetNamespace() 获得 NameSpace 类型。
-
从 NameSpace.GetDefaultFolder() 获得 MAPIFolder 类型。
-
使用 MAPIFolder.Items 索引器枚举子项。
指定字符串"MAPI"作为 GetNamespace() 的参数时,将收到一个 NameSpace 类型,该类型表示具体的 Outlook 数据存储的抽象级别(目前,"MAPI"是唯一有效的命名空间)。MAPIFolder 类型可以表示给定用户的邮件存储中的任何文件夹(已删除项、收件箱、日记项等)。文件夹选项的完整范围由 OlDefaultFolders 枚举来表示:
public enum OlDefaultFolders
{
olFolderCalendar = 9;
olFolderConflicts = 19;
olFolderContacts = 10;
olFolderDeletedItems = 3;
olFolderDrafts = 16;
olFolderInbox = 6;
olFolderJournal = 11;
olFolderJunk = 23;
olFolderLocalFailures = 21;
olFolderNotes = 12;
olFolderOutbox = 4;
olFolderSentMail = 5;
olFolderServerFailures = 22;
olFolderSyncIssues = 20;
olFolderTasks = 13;
olPublicFoldersAllPublicFolders = 18;
}
要请求具体的文件夹,请将 OlDefaultFolders 枚举中的值指定为 NameSpace.GetDefaultFolder() 的参数。请考虑以下代码,这些代码枚举了当前用户的任务集合:
static void Main(string[] args)
{
// Create an Outlook Application object.
Application outLookApp = new Application();
// Print all tasks.
NameSpace outlookNS = outLookApp.GetNamespace("MAPI");
MAPIFolder theTasks =
outlookNS.GetDefaultFolder(OlDefaultFolders.olFolderTasks);
foreach(TaskItem task in theTasks.Items)
{
Console.WriteLine("-> Time Created: {0}", task.CreationTime);
Console.WriteLine("-> Body: {0}", task.Body);
}
}
http://www.qudong.com/soft/program/C/rumenjiaocheng/20080401/5239_4.html(摘自)
浙公网安备 33010602011771号