Error 8004010F "MAPI_E_NOT_FOUND" con CDO 1.x

Seleccione idioma Seleccione idioma
Id. de artículo: 179639 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Es posible que reciba un mensaje de error parecido al siguiente:
Collaboration Data Objects
[Collaboration Data Objects-[MAPI_E_NOT_FOUND(8004010F)]]
Hay varias razones para este mensaje de error que aparezca. En este artículo se describe algunas de las causas y soluciones para el error.

Causa

Siguiente es una lista de causas del error:
  1. Si el código se ejecuta en una página Active Server (ASP), puede ser pasar un nombre de perfil al Inicio de sesión método donde el perfil no existe en el equipo que ejecuta Internet Information Server (IIS).
  2. Puede estar intentando utilizar un recurso que no existe. Este problema se produce cuando intenta utilizar un servidor o intenta iniciar sesión en un buzón que no existe. Una causa común de este problema es copiar y pegar código de ejemplo sin modificar las variables de servidor y buzón.
  3. Puede estar intentando resolver a un destinatario que no existe.
  4. Al recuperar los elementos de la colección de carpetas mediante la instrucción Folders.Item(searchValue) , puede que intente recuperar un elemento anterior.
  5. Puede que esté utilizando el método GetFreeBusy en un servidor de Exchange de buzón que no se ha registrado en todavía o que no tiene todas las citas del calendario.
  6. Mientras se envía correo en GroupWise, puede recibir este mensaje de error cuando tiene acceso a la Bandeja de salida o cuando se llama al método Enviar .
  7. Puede estar intentando establecer el valor de un campo (propiedad) en un objeto de Collaboration Data Objects (1.1, 1.2, 1.21) donde el campo (propiedad) no existe.

Solución

Las resoluciones siguientes coincide con las causas enumeradas en la sección causa.
  1. Debe utilizar el parámetro ProfileInfo en la llamada al método de Inicio de sesión en lugar de un nombre de perfil específico. Esto le permite crear un perfil para el usuario de la página ASP mediante programación.

    Hacerlo porque el usuario no normalmente tendrán perfiles en el servidor, y los perfiles probablemente no se van a cargar en HKEY_CURRENT_USER a fin de CDO (1.1, 1.2, 1.21) se encuentra.
  2. Compruebe el código para variables que se utilizan en el método de Inicio de sesión del objeto Session . Código de ejemplo de la mayoría de los ASP contiene una variable que se denomina strProfileInfo. Esta variable es una combinación de nombre del servidor, un salto de línea y el nombre del buzón. Busque las variables que definen el servidor y el buzón y asegúrese de que los recursos están en la red y en el equipo que ejecuta Exchange Server.
  3. Asegúrese de que el destinatario como especificado. Si un destinatario no válido se pasa a CDO (1.1, 1.2, 1.21) en una página ASP, la única manera de resolver el problema es volver a escribir al destinatario. No se puede llamar a la Libreta de direcciones en el cliente.
  4. Al recuperar los elementos de la colección de carpetas mediante la instrucción Folders.Item(searchValue) , intenta recuperar un elemento anterior.

    La instrucción Folders.Item(searchValue) realiza una búsqueda hacia delante. Por lo tanto, si utiliza esa instrucción para recuperar un elemento dos (2) de la colección de carpetas y, a continuación, más adelante intenta tener acceso a un elemento anterior de la misma colección, recibirá el error.

    Para evitar este problema, utilice el parámetro de índice de la instrucción Folders.Item . La sintaxis de Item (índice) devuelve objeto de la carpeta en la posición indicada de la colección.

    Como alternativa, puede utilizar el método GetFirst , el método GetPrevious , el método GetNext y el método GetLast del objeto FoldersCollection .
  5. Información de disponibilidad no estará disponible para un buzón hasta que se ha registrado en el buzón mediante un cliente de correo y existe al menos una cita en el calendario del buzón.

    Éstos son tres soluciones para este problema:
    • Inicie sesión en el buzón mediante un cliente de Outlook para asegurarse de que alguna información de disponibilidad se escribe en el buzón. Cuando inicia sesión en correo por primera vez, Outlook crea un elemento de cita que a su vez crea información de disponibilidad.
    • Inicie sesión en el buzón mediante un cliente de Exchange y inicie Schedule + o inicie Schedule + por sí mismo. Esto crea información de disponibilidad en ese buzón. No es necesario crear realmente una cita.
    • Utilizar CDO (1.2, 1.21) para crear una nueva cita de prueba de forma que se crea información de disponibilidad para ese buzón.
  6. Mientras se envía correo en GroupWise, puede recibir este mensaje de error cuando tiene acceso a la Bandeja de salida o cuando se llama al método Enviar .

    Utilice la siguiente para resolver el error:
    • Especificar NoMail: = True en la llamada al método de Inicio de sesión del objeto Session .
    • Asegúrese de que la cola MAPI no se está ejecutando ya después tener conectado al almacén de mensajes de GroupWise, como con Outlook.
    Nota Estas soluciones pueden resolver también los siguientes otros problemas de enviar correo utilizando CDO (1.1, 1.2, 1.21) en una cuenta de GroupWise:
    • El mensaje se envía, pero el texto y datos adjuntos no existen.
    • El mensaje aparece en elementos enviados, pero nunca se enviará al destinatario
  7. En lugar de establecer simplemente el valor del campo, suponga que el campo no existe. Utilice el método Add de los campos de la colección. Mediante el método Add , puede agregar el campo y establecer el valor como sigue.
    objMsg.Fields.Add &H00150040, 234
    el ejemplo de código anterior muestra agregando y estableciendo el valor para el PR_EXPIRY_LIMIT (& H00150040) campo. Se produce ningún error si la propiedad ya existe.

Referencias

Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
183094CDO (1.x) error MAPI_E_NOT_FOUND el valor de propiedad
183250Error CDO (1.x): error de tiempo de ejecución '-2147221233' con GetFreeBusy
195662Cómo iniciar sesión Exchange con el parámetro ProfileInfo

Propiedades

Id. de artículo: 179639 - Última revisión: miércoles, 05 de octubre de 2005 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft Collaboration Data Objects 1.21
  • Microsoft Collaboration Data Objects 1.1
  • Microsoft Collaboration Data Objects 1.2
Palabras clave: 
kbmt kbcode kbfaq kbgrpdsmsg kbmsg kbole kbpending kbprb KB179639 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 179639
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

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