Compartir a través de


Envío de un mensaje

Hace referencia a: Outlook 2013 | Outlook 2016

Cuando esté listo para enviar un mensaje, llame a su método IMessage::SubmitMessage . SubmitMessage coloca el mensaje en la cola saliente y establece la marca de MSGFLAG_SUBMIT en la propiedad PR_MESSAGE_FLAGS (PidTagMessageFlags) del mensaje.

El proveedor del almacén de mensajes, si está estrechamente acoplado a un proveedor de transporte, proporciona el mensaje directamente al transporte que lo entrega al sistema de mensajería. Si no está estrechamente acoplado, el proveedor del almacén de mensajes informa a la cola MAPI de que la cola saliente ha cambiado y que la cola MAPI transfiere el mensaje a un proveedor de transporte adecuado.

Si permite que los usuarios cancelen una operación de envío, llame a IMsgStore::AbortSubmit para implementar esta característica. AbortSubmit quita el mensaje de la cola saliente. Se puede permitir a los usuarios impedir que se produzca un envío hasta que el mensaje se entrega al sistema de mensajería subyacente.

Si SubmitMessage devuelve MAPI_E_CORRUPT_DATA, suponga que los datos que se envían ahora se pierden. Antes de intentar enviar una segunda vez, vuelva a escribir el mensaje llamando a IMAPIProp::SetProps e IMAPIProp::SaveChanges. Mostrar un error al usuario si estas llamadas IMAPIProp producen un error o si SubmitMessage produce un error una segunda vez.

Después de una llamada correcta a SubmitMessage, libere toda la memoria que se haya asignado para la lista de destinatarios y libere el mensaje y sus datos adjuntos. Una vez que se ha enviado un mensaje, MAPI no permite ninguna operación adicional en los punteros de estos objetos. La única excepción es llamar a IUnknown::Release. No se permiten otras llamadas porque muchos proveedores de almacén de mensajes invalidan los identificadores de entrada de los mensajes que se han enviado.