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

Vb.net VB 2010和Outlook:VB应用程序如何知道要访问哪个邮箱?,vb.net,com,outlook,Vb.net,Com,Outlook,我有一个VB项目,它是我为iOS编写的企业客户端应用程序的服务器。服务器在开发机器上工作得很好,我准备将其部署到另一个盒子中的永久主页。除了一件事,一切都很好。其中一个功能是定期扫描Outlook/Exchange邮箱中的某些电子邮件,提取邮件正文并处理这些信息。在生产服务器上,它抛出一个错误: 由于以下错误,检索CLSID为{0006F03A-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80040154类未注册(HRESULT异常:0x80040154(

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

由于以下错误,检索CLSID为{0006F03A-0000-0000-C000-0000000000 46}的组件的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")
我主要是从互联网上的某个地方抄来的

所有这些都是在开发的早期完成的,我已经忘记了我是如何让它工作的,所以我再一次在新的硬件上尝试让它工作时遇到了困难。我需要做什么才能克服这个减速带

我还想弄清楚它是如何知道如何访问我的邮箱的


非常感谢。

此错误表示未安装Outlook

请记住,任何Office应用程序(包括Outlook)都不能在服务中使用。你的选择是

  • (C++或Delphi)

  • (对于Exchange邮箱)

  • -它包装了可在服务中使用的扩展MAPI及其对象系列。它可以用在任何语言中


  • 因此,为了清楚起见,服务器需要安装Outlook吗?我想这似乎有点太明显了。是的,但请确保您的代码没有在服务中运行。