我要求从我的Outlook收件箱中读取C#程序中的主题,发件人地址和新邮件的邮件正文.但我收到安全警报'程序正在尝试访问您存储在Outlook中的电子邮件地址.你想要允许吗?
通过一些谷歌搜索我发现很少有第三方COM库来避免这种情况.但我正在寻找一个不需要任何第三方COM库的解决方案.
我在访问Outlook邮件项目的发件人电子邮件地址时遇到了同样的问题.要避免"安全警报",请不要创建新的Application对象,而是使用Globals.ThisAddIn.Application来创建新的mailitem.
string GetSenderEmail(Outlook.MailItem item) { string emailAddress = ""; if (item.SenderEmailType == "EX") { Outlook.MailItem tempItem = (Outlook.MailItem)Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem); tempItem.To = item.SenderEmailAddress; emailAddress = tempItem.Recipients[1].AddressEntry.GetExchangeUser().PrimarySmtpAddress.Trim(); } else { emailAddress = item.SenderEmailAddress.Trim(); } return emailAddress; }
抱歉,我在Outlook 2003和Outlook 2007加载项中都遇到了这个烦人的问题,唯一有效的解决方案是购买Redemption许可证.在Outlook 2007中,如果您的防火墙已关闭,或者您的防病毒软件已经过时,那么只会出现讨厌的弹出窗口.
试试这个
工具 - >宏 - >安全 - >程序访问
然后选择从不警告我可疑活动.