我已经在 C#.NET 4.0 中创建了 Outlook 2007 加载项。
我想读取 C# 代码中的安全发件人列表。
if (oBoxItem is Outlook.MailItem)
{
Outlook.MailItem miEmail = (Outlook.MailItem)oBoxItem;
OlDefaultFolders f = Outlook.OlDefaultFolders.olFolderContacts;
if (miEmail != null)
{
string body = miEmail.Body;
double score = spamFilterObject.CalculateSpamScore(body);
if (score <= 0.9)
{
miEmail.Move(mfJunkEmail);
}
}
}
因此,上述代码将所有电子邮件移至垃圾邮件,即使它们存在于安全发件人列表中。因此我想获得安全发件人列表,以便我可以避免这种垃圾邮件检查。
有人可以帮我解决这个问题吗?
Outlook 对象模型不会公开这些列表(出于或多或少明显的原因)。安全发件人列表可以直接从注册表中读取:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\[PROFILE NAME]\0a0d020000000000c000000000000046\001f0418
此二进制注册表项包含双字节字符,以分号 (;) 分隔。
映射到此注册表项的 MAPI 属性是
PR_SPAM_TRUSTED_SENDERS_W,已记录here http://msdn.microsoft.com/en-us/library/gg318105.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)