我有例程从Outlook商店获取特定文件夹:
// Property Tag of SentFolder
string propertyName = "http://schemas.microsoft.com/mapi/proptag/0x35E40102";
Outlook.Folders folders = store.GetRootFolder().Folders;
object entry = propertyAccesor.GetProperty(propertyName);
defaultFolderEntryID = propertyAccesor.BinaryToString(entry);
if (!string.IsNullOrEmpty(defaultFolderEntryID))
{
foreach (Outlook.Folder defaultFolder in folders)
{
if (defaultFolder.EntryID == defaultFolderEntryID)
{
folder = defaultFolder;
break;
}
else
Marshal.ReleaseComObject(defaultFolder);
}
}
Marshal.ReleaseComObject(folders);
Marshal.ReleaseComObject(store);
我有已发邮件,发件箱和已删除邮件的属性标记,但我找不到垃圾邮件(或垃圾邮件)文件夹的属性标记。任何人都知道它存在的价值是什么?
感谢.-
答案 0 :(得分:1)
为什么不使用Namespace / Store.GetDefaultFolder(olFolderJunk)?除非您尝试打开委托邮箱的垃圾邮件文件夹(您可以在Outlook 2010或更高版本中使用Store.GetDefaultFolder)。
在MAPI级别,条目id存储在PR_ADDITIONAL_REN_ENTRYIDS(0x36D81102)多值二进制属性中;它以索引4(基于0)存储。您可以在OutlookSpy中看到它(选择收件箱文件夹时单击IMAPIFolder按钮)。
由于Outlook 2007不公开Store对象(因此您可以使用Store.GetDefaultFolder),因此您可以使用Redemption(任何版本的Outlook) - 它会公开RDOStore。GetDefaultFolder方法版本的Outlook。