使用 CDO 1.x 错误 8004010F"MAPI_E_NOT_FOUND"

文章翻译 文章翻译
文章编号: 179639 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

您可能会收到以下错误消息:
协作数据对象
[协作数据对象-[MAPI_E_NOT_FOUND(8004010F)]]
有多种原因出现该错误消息。本文讨论的一些原因和错误的解决方案。

原因

下面是导致该错误的原因的列表:
  1. 如果您的代码正在运行活动服务器页面 (ASP) 页中,您可能会传递一个配置文件名称 登录 方法在运行 Microsoft Internet 信息服务器 (IIS) 的计算机上不存在该配置文件。
  2. 您可能试图使用不存在的资源。当您尝试使用一个服务器或您尝试登录到不存在的邮箱时,会发生此问题。导致此问题的常见原因是复制和粘贴示例代码,而无需修改服务器和邮箱的变量。
  3. 您可能会在尝试解析不存在的收件人。
  4. 从通过 Folders.Item(searchValue) 语句文件夹集合中检索元素时, 您可能试图检索前一项。
  5. 您可能正在使用 GetFreeBusy 方法,对 Exchange 服务器邮箱的已不被记录到还,或日历中没有任何约会。
  6. 时要发送的邮件上 Groupwise,您可能会收到此错误消息,当您访问发件箱时,或调用 发送 方法时。
  7. 您可能试图 (属性) 域中不存在协作数据对象 (1.1、 1.2 1.21) 对象上设置的字段 (属性) 的值。

解决方案

以下解决方案符合原因部分中列出的原因。
  1. 您应使用 ProfileInfo 参数在调用 登录 方法,而不是一个特定的配置文件的名称。这允许您以编程方式创建的 ASP 页的用户配置文件。

    您这样做是因为用户通常没有配置文件在上和配置文件可能不打算要查找由 CDO 1.1、 1.2 1.21) 被加载到注册表。
  2. 请检查代码使用 会话 对象的 登录 方法中的变量。大多数 ASP 示例代码中包含的被命名为 strProfileInfo 某个变量。该变量是服务器名称、 换行符和邮箱名称的组合。查找定义服务器和在的邮箱的变量,并确保该资源是在网络上并在运行 Exchange Server 的计算机上。
  3. 请确保收件人是作为指定。如果您在 ASP 页中到 CDO 1.1、 1.2 1.21) 传递了无效的收件人以解决此问题的唯一方法是重新输入收件人。您不能调用客户端上的通讯簿。
  4. 从通过 Folders.Item(searchValue) 语句文件夹集合中检索元素时, 您尝试检索前一项。

    Folders.Item(searchValue) 语句执行正向搜索。因此,如果该语句用于检索项两 (2) 的文件夹集合,并且然后以后您试图访问同一集合中的前一项您会收到错误。

    若要变通解决此问题,使用 $ Folders.Item 语句的 index 参数。Item(index) 语法返回一个 文件夹 对象在集合中指定的位置。

    或者,您可以使用 GetFirst 方法、 GetPrevious 方法、 GetNext 方法和 GetLastFoldersCollection 对象的方法。
  5. 忙/闲信息不会用于邮箱,直到该邮箱已被使用的邮件客户端登录到邮箱的日历中存在至少一个约会。

    下面是此问题的三种变通办法:
    • 通过使用 Outlook 客户端以确保某些忙/闲信息写入该邮箱登录到邮箱。当您第一次登录到邮件时,Outlook 创建反过来创建忙/闲信息的约会项目。
    • 通过使用 Exchange 客户端登录到邮箱,并启动 schedule +,或自行启动 schedule +。这将创建该邮箱中的忙/闲信息。您不必实际创建约会。
    • 使用 CDO 1.2 1.21) 创建一个新的测试约会,以便为该邮箱创建忙/闲信息。
  6. 时要发送的邮件上 Groupwise,您可能会收到此错误消息,当您访问发件箱时,或调用 发送 方法时。

    使用以下方法来解决该错误:
    • 指定 NoMail: = True会话 对象的 登录 方法调用。
    • 请确保具有连接到 GroupWise 消息存储如与 Outlook 后已经不运行的 MAPI 后台处理程序。
    注意这些变通办法也可以用来解决以下 GroupWise 帐户上使用 CDO 1.1、 1.2 1.21) 来发送邮件的其他问题:
    • 将邮件发送,但不存在的文本和附件。
    • 该消息将出现在已发送邮件,但永远不会传递给收件人
  7. 而不是只需设置域值的假定该字段不存在。使用 Add 方法的 字段 集合。通过 Add 方法可以同时将字段添加和设置值,如下所示。
    objMsg.Fields.Add &H00150040, 234
    上面的代码示例演示如何添加和设置 PR_EXPIRY_LIMIT (& H00150040) 域的值。如果属性已存在,则会不发生任何错误。

参考

有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
183094CDO (1.x) 错误 MAPI_E_NOT_FOUND 属性的设置值
183250CDO (1.x) 错误: 与 GetFreeBusy 的运行时错误 '-2147221233
195662如何登录到 Exchange 有 ProfileInfo 参数

属性

文章编号: 179639 - 最后修改: 2005年10月5日 - 修订: 3.1
这篇文章中的信息适用于:
  • Microsoft Collaboration Data Objects 1.21
  • Microsoft Collaboration Data Objects 1.1
  • Microsoft Collaboration Data Objects 1.2
关键字:?
kbmt kbcode kbfaq kbgrpdsmsg kbmsg kbole kbpending kbprb KB179639 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 179639
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com