【发布时间】:2016-03-01 19:42:18
【问题描述】:
我编写了一个 C# Windows 窗体应用程序,它使用以前版本的 Outlook Redemption 来发送绕过 Outlook 安全消息的电子邮件。在我从 32 位 Outlook 2010 升级到 64 位 Outlook 2013 之前效果很好。现在,我在 Windows 64 位上使用 64 位 Outlook Redemption DLL,版本 5.10.0.4416,64 位 Outlook 2013 ,并且我收到“无法解决”错误,错误代码 -2147221233/8004010F。
当我将 32 位 Outlook 与 32 位 Outlook Redemption DLL(在 Windows 64 位上)一起使用时,以下代码运行良好。我已将参考更新为使用 64 位 Outlook Redemption DLL,并将我的应用程序解决方案更新为 x64。
RDOSession session = new RDOSession();
session.Logon(Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, Type.Missing);
bool loggedOn = session.LoggedOn; // Debug, true
RDOFolder draft = session.GetDefaultFolder(rdoDefaultFolders.olFolderDrafts);
string smtp = session.CurrentWindowsUser.SMTPAddress); // Debug, valid user@mycompany.com
RDOAddressEntry smtpAddress = session.AddressBook.GAL.ResolveName(session.CurrentWindowsUser.SMTPAddress);
RDOAddressEntry smtpAddress = session.AddressBook.GAL.ResolveName(session.CurrentWindowsUser.SMTPAddress); 行是收到错误的行。
另外,loggedOn 变量表示true,session.CurrentWindowsUser.SMTPAddress 显示我调试时的电子邮件地址。
如果我没记错的话,8004010F 错误表示找不到项目。如果这是真的,那么我不确定为什么完全相同的代码在 64 位 Windows 上适用于 32 位 Outlook、32 位 Outlook Redemption,而不适用于 64 位 Outlook、64 位 Outlook Redemption,和 64 位 Windows。
感谢您的帮助。
【问题讨论】:
标签: c# outlook outlook-redemption