用于接收电子邮件的Outlook互操作API的替代方案
问题描述:
我在远程服务器上有一个电子邮件帐户。 我创建了一个应用程序,它利用outlook interop api来搜索具有特定主题的电子邮件,而不是从中提取附件并将其保存到目录。用于接收电子邮件的Outlook互操作API的替代方案
手动运行该应用程序时,一切正常。 但是,当我创建计划任务为这个应用程序,我得到
Stack:
at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(System.RuntimeType)
at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(System.RuntimeType)
at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(System.RuntimeType, System.Object[], Boolean)
at System.RuntimeTypeHandle.CreateInstance(System.RuntimeType, Boolean, Boolean, Boolean ByRef, System.RuntimeMethodHandleInternal ByRef, Boolean ByRef)
at System.RuntimeType.CreateInstanceSlow(Boolean, Boolean, Boolean)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean, Boolean, Boolean, Boolean)
at System.Activator.CreateInstance(System.Type, Boolean)
at PocketDataFromEmail.EmailManager..ctor()
at MyApp.Program.Main(System.String[])
据说,前景并不适合那种情景: Is Interop.Outlook multithreaded?
如何检查的收件箱中的任何想法交换帐户并提取附件而不使用outlook interop api? 谢谢。
答
Exchange Web Services会成为一个选项吗?
http://msdn.microsoft.com/en-us/library/dd877045.aspx
还有MAPI,虽是旧的技术,并且我记得这是不是很好玩的使用方法:
答
在您的情况,它是适合使用Exchange Web服务,如上面的PeskyGnat所述,因为它不需要在计算机上安装MS Outlook。
您可能还会看到Aspose.Network for .NET组件(一种商用API),它可以从具有完整附件的Exchange,Imap和Pop3邮件服务器获取消息。有关示例代码,请参阅http://www.aspose.com/documentation/.net-components/aspose.network-for-.net/saving-messages-from-exchange-server-mailbox-in-eml-and-msg-format.html以从Exchange Server读取消息。
披露:我在Aspose担任技术推广人员。
非常感谢。 – aykut 2011-05-19 18:26:15