AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Gestión de correos electrónicos
  • Resumen de "Simple MAPI"
  • Principio
  • Detalles de los diferentes pasos
  • Etapa 1: Creación de un perfil de usuario
  • Etapa 2: Iniciando una sesión de Email
  • Etapa 3: Envío de correos electrónicos
  • Paso 3 bis: Lectura de los correos electrónicos
  • Etapa 4: Clausura de la sesión de Email
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Resumen de "Simple MAPI"
MAPI simple se utiliza para simplificar la gestión de los correos electrónicos recibidos en la empresa de alojamiento. Cuando se lee un Email, se carga automáticamente en el buzón de mensajes local y se borra del servidor (en la empresa de alojamiento).
Todas las características necesarias para la gestión del correo electrónico (protocolo POP3, protocolo SMTP, acceso remoto, etc.) se agrupan en el "Perfil de usuario".
Con las funciones Email de WLanguage, una aplicación WINDEV o un sitio WEBDEV puede manipular directamente los Email administrados en una aplicación que está usando "Simple MAPI".
Principio
Para enviar o leer mensajes a través de MAPI simpledebes hacerlo:
  1. Describir un perfil de usuario. Este perfil de usuario debe ser creado en la aplicación de Microsoft para la gestión de Email (cliente de MS Exchange por ejemplo).
  2. Desde la aplicación WINDEV (o desde el sitio WEBDEV), conéctese a la aplicación de gestión de Email (cliente MS Exchange, por ejemplo) con EmailStartSession.
  3. Enviar y leer los mensajes.
  4. Cierre la sesión a la aplicación para la gestión de Email (cliente MS Exchange por ejemplo) con EmailCloseSession.
Detalles de los diferentes pasos

Etapa 1: Creación de un perfil de usuario

El perfil de usuario se utiliza para configurar la aplicación para la gestión de Email (cliente de MS Exchange, por ejemplo).
Los siguientes elementos se definen en el perfil de usuario:
  • el protocolo SMTP utilizado,
  • el protocolo POP3 utilizado,
  • los diferentes servicios de comunicación utilizados. Para utilizar las funciones de "email" del WLanguage, el perfil de usuario debe utilizar el servicio Microsoft Exchange Server.
Observación: Se debe crear un perfil para cada usuario o cuenta de Email.. El nombre del perfil se utilizará para iniciar la sesión de Email con EmailStartSession.
Para crear un perfil:
  1. Abre el panel de control.
  2. Haga doble clic en la opción "Email".
  3. Haga clic en el botón "Mostrar los perfiles".
  4. En la ventana "Elegir un perfil", haga clic en el botón "Añadir".
  5. Dar un nombre al perfil. Este nombre se utilizará en los programas WINDEV.
  6. Selecciona "Añadir una nueva cuenta de Email".
  7. Seleccione el servicio "Microsoft Exchange Server".
  8. Introduzca el nombre del servidor Microsoft Exchange.

Etapa 2: Iniciando una sesión de Email

Para iniciar una sesión de Email, utilice EmailStartSession. Esta función debe ser la primera función "Email" usada en su aplicación WINDEV (o en su sitio WEBDEV).
EmailStartSession devuelve el identificador de sesión. Este identificador será utilizado por todas las funciones de WLanguage para la gestión de Email.
Ejemplo: El siguiente Procedure se utiliza para iniciar una sesión de Email a partir de un perfil. Si se produce un error, la variable Email.Error permite identificarlo.
FUNCTION StartSession(Profile)
// Start the session
SessionNum is int
SessionNum = EmailStartSession(Profile)
IF SessionNum = 0 THEN
Error("The session cannot be started. Error: " + Email.Error)
END
RESULT SessionNum

Etapa 3: Envío de correos electrónicos

Las siguientes funciones se utilizan para enviar mensajes de correo electrónico a través de MAPI simple:
  • EmailSendMessage: esta función se utiliza para colocar el mensaje en la bandeja de salida de la aplicación de gestión de Email (bandeja de salida del cliente de MS Exchange, por ejemplo).
  • EmailUpdate: esta función se utiliza para sincronizar el servidor de Email y la aplicación de gestión de Email: los nuevos correos electrónicos entrantes se transfieren automáticamente a la bandeja de entrada, los correos electrónicos encontrados en la bandeja de salida se envían.
Para obtener más información, consulte: Preparando el envío de un Email.
Ejemplo: El siguiente código envía todos los correos electrónicos en una control Tabla poblada programáticamente ("TABLE_TOSEND") a través del cliente MS Exchange. Cada tabla fila corresponde a un Email.
Para cada Email, la información de la control Tabla se transfiere a la estructura Email, y la Email se envía. Entonces, el servidor de Email se actualiza.
I is int
FOR I = 1 _TO_ TableCount(TABLE_TOSEND)
// The email is sent to a single person
Email.NbRecipient = 1
Email.Recipient[1] = ExtractString(TABLE_TOSEND[I], 1)
// Subject and message
Email.Subject = ExtractString(TABLE_TOSEND[I], 2)
Email.Message = ExtractString(TABLE_TOSEND[I], 3)
// No attached file
Email.NbAttach = 0
// Send the message to MS Exchange
EmailSendMessage(SessionNum, False)
END
// Send the messages from MS Exchange to the email server
IF NOT EmailUpdate(SessionNum) THEN
Error("Problem with MS Exchange. Error:" + Email.Error)
END

Paso 3 bis: Lectura de los correos electrónicos

Lectura de los correos electrónicos a través de MAPI simple es realizada por:
  • la función EmailUpdate: esta función se utiliza para sincronizar el servidor de Email y el software para la gestión de Email: los nuevos correos electrónicos entrantes se transfieren automáticamente a la bandeja de entrada, los correos electrónicos encontrados en la bandeja de salida se envían.
  • las funciones de lectura de correos electrónicos (EmailReadFirst, EmailReadNext, etc.): estas funciones se utilizan para inicializar la estructura de Email de WLanguage con las características del Email que se lee actualmente (remitente, asunto, etc.).
Para obtener más información, consulte: Leyendo una Email.
Ejemplo: El siguiente código se utiliza para leer los correos electrónicos. Los correos electrónicos entrantes se almacenan en una control Tabla que se rellena mediante programación ("TABLE_Messages"). El SessionNum Variable corresponde al identificador de la sesión. En este ejemplo, los mensajes entrantes son eliminados de la bandeja de entrada y del servidor Email por EmailDeleteMessage.
// Receives the pending messages found on the email server
IF NOT EmailUpdate(SessionNum) THEN
Error("Problem with MS Exchange. Error: " + Email.Error)
END
 
// Read the first unread message
IF NOT EmailReadFirst(SessionNum, "NOT READ") THEN
Error("Error while reading the first message")
END
 
// Loop through unread messages and display them in a Table control populated programmatically
TableDeleteAll(TABLE_Messages)
WHILE NOT Email.Out
// The reception date, the address of the sender and the message
// are assigned to the table
TableAdd("TABLE_Messages", Email.ReceiveDate + TAB +...
Email.SenderAddress + TAB + Email.Message)
 
// Delete the message
IF NOT EmailDeleteMessage(SessionNum) THEN
Error("Error during the deletion. The message was not deleted")
END
// Read the next unread message
IF NOT EmailReadNext(SessionNum, "NOT READ") THEN
Error("Error while reading the next message")
END
END

Etapa 4: Clausura de la sesión de Email

Una vez finalizada la gestión de los correos electrónicos entrantes y salientes, se cierra la sesión con EmailCloseSession. Esta función debe ser la última función "email" utilizada.
Ejemplo: El siguiente código es un Procedure usado para cerrar una sesión de Email. En este código, el SessionNum Variable corresponde al identificador de sesión devuelto por EmailStartSession.
PRODEDURE CloseSession(SessionNum)
// Close the session
EmailCloseSession(SessionNum)
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local