我需要使用用户凭据通过ASP.NET Web应用程序连接到Outlook。我有什么选择?
仅供参考:用户使用Windows身份验证登录网站。我正在使用Outlook 2003.
答案 0 :(得分:1)
听起来你真的想要连接到Exchange。对于早于2007年的交换,WebDAV是最佳选择。对于Exchange 2007,他们可以使用Web服务。
Independentsoft为您所有的交换邮箱(和日历)需求制作一个优秀(且便宜)的.NET库。
答案 1 :(得分:1)
是。我想我需要连接到Exchange而不是使用Outlook COM API。 Robert指出,WebDav可能是早于2007年交换服务器的方式。还有其他方法可以连接到Exchange服务器吗?
答案 2 :(得分:1)
这是使用asp.net打开Outlook的新电子邮件的链接 http://topictolearn.blogspot.com/2011/12/opening-outlook-with-new-e-mail-from.html
答案 3 :(得分:0)
我会做类似的事情,但我没有看到它不起作用的原因:写一个使用Outlook Addin来与你提供的任何其他服务或工具进行通信的object remoting重新开始工作。由于它是一个ASP.NET应用程序,您可能希望使用Web服务而不是对象远程处理。
如果ASP.NET应用程序尚未运行,您是否希望ASP.NET应用程序启动? 一个Outlook进程是由许多用户共享,还是要连接到特定于用户的Outlook进程?您是否希望ASP.NET应用程序充当Outlook尝试连接的服务器,或者反过来?
如果边缘情况很复杂,您可以尝试编写Windows服务以充当两者之间的中介或网关,例如:在每台Outlook计算机上运行的服务,并按需启动Outlook。
答案 4 :(得分:0)
jtacoma: 如果ASP.NET应用程序尚未运行,您是否希望ASP.NET应用程序启动?
什么会更容易。如果Outlook没有运行并不重要,那么我们不需要启动它。
许多用户是否会共享一个Outlook进程,或者您是否要连接到特定于用户的Outlook进程?
需要连接到特定于用户的Outlook进程。
您是否希望ASP.NET应用程序充当Outlook尝试连接的服务器,或者反过来?
反过来说。我希望ASP.NET连接到Outlook。
此外: 我目前正在查看另一个asp.net应用程序,他们使用 WebDAV请求连接到Outlook。我不确定这是否是一个很好的方法。对我来说看起来很乱。
答案 5 :(得分:0)
您的解决方案是否要求Outlook在ASP.NET服务器上运行?如果是这样,您可能想要研究许可影响。我不认为MS打算以这种方式自动化Outlook。我也不认为有多个Outlook运行实例,这可能会带来严重的性能瓶颈问题。 如果您可以分享更多详细信息 - 您尝试通过Outlook自动执行哪些操作,这将有所帮助?是否涉及Exchange Server?
答案 6 :(得分:0)
通过一组COM API实际上很好地暴露了Outlook ...但是,我很好奇你是否需要连接到Outlook客户端,或者直接连接到Exchange服务器。
您要做的实际任务是什么?
例如,一旦你导入了outlook com DLL,并创建了一个互操作库,那么做大多数事情都是相当简单的:
outlook.Application outlookApp = new outlook.ApplicationClass();
outlook.NameSpace olNameSpace = outlookApp.GetNamespace("MAPI");
olNameSpace.Logon (Credentials);
outlook.ContactItem contact = (outlook.ContactItem)
outlookApp.CreateItem(OlItemType.olContactItem);
contact.FirstName = "Joe";
contact.LastName = "Smith";
contact.Save();
该代码段在Outlook中创建了一个新联系人。
答案 7 :(得分:0)
对我而言,这个问题没有意义。 Outlook不是服务器应用程序,它具有用户上下文。如果使用WebDAV,MAPI或IMAP连接到Exchange Server,则更有意义。