【问题标题】:VB 2010 and Outlook: how does the VB application know which mailbox to access?VB 2010 和 Outlook:VB 应用程序如何知道要访问哪个邮箱?
【发布时间】:2015-03-07 03:28:38
【问题描述】:

我有一个 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")

我主要是从互联网上的某个地方复制的。

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

我也很难理解它是如何知道访问我的邮箱的。

非常感谢。

【问题讨论】:

    标签: vb.net com outlook


    【解决方案1】:

    该错误表示未安装 Outlook。

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

    1. Extended MAPI(C++ 或 Delphi)

    2. EWS(如果是 Exchange 邮箱)

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

    【讨论】:

    • 所以要明确一点,服务器需要安装 Outlook 吗?我猜这似乎很明显。
    • 可以,但请确保您的代码没有在服务中运行。
    猜你喜欢
    • 1970-01-01
    • 2010-09-17
    • 2012-01-14
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    相关资源
    最近更新 更多