VB 2010和Outlook:VB应用程序如何知道要访问哪个邮箱?

时间:2015-01-08 21:33:56

标签: vb.net com outlook

我有一个VB项目,它是我为iOS编写的企业客户端应用程序的服务器。服务器在开发机器上工作得很好,我准备将它部署到另一个盒子里的永久性家中。除了一件事,一切都很好。其中一项功能是定期扫描某些电子邮件的Outlook / Exchange电子邮箱,并提取邮件正文并处理该信息。在生产服务器上,它会抛出一个错误:

  

检索具有CLSID {0006F03A-0000-0000-C000-000000000046}的组件的COM类工厂因以下错误而失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。

以下是运行扫描的设置代码:

    Dim olApp As Outlook.Application
    Dim objNS As Outlook.NameSpace
    Dim objInboxFolder As Outlook.Folder
    Dim olTVMFolder As Outlook.Folder
    Dim olDestinationFolder As Outlook.Folder
    Dim msg As Outlook.MailItem
    Dim msgBody As String
    Dim msgSender As String
    Dim msgReceivedTime As String

    olApp = New Outlook.Application
    objNS = olApp.GetNamespace("MAPI")
    objInboxFolder = objNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
    olTVMFolder = objInboxFolder.Folders("TVM Backup")
    olDestinationFolder = objInboxFolder.Folders("Processed TVM")

我大多是从互联网上的某个地方复制的。

所有这一切都是在开发的早期完成的,我忘记了我是如何设法让它工作的,所以我再次努力让它在新硬件上工作。我需要做些什么来克服这个减速带?

我还试图弄清楚如何访问我的邮箱。

非常感谢。

1 个答案:

答案 0 :(得分:1)

该错误表示未安装Outlook。

请注意,不能在服务中使用Office应用程序(包括Outlook)。你的选择是

  1. Extended MAPI(C ++或Delphi)

  2. EWS(如果是Exchange邮箱)

  3. Redemption - 它包装扩展MAPI,其RDO系列对象可用于服务。它可以用于任何语言。