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
  • Protocolos POP3 y SMTP
  • SMTP autenticado
  • Conexión con autenticación de dos factores
  • Timeout
  • Creación de un perfil de Outlook Exchange
  • Gmail: ¿Qué hacer si una conexión a Gmail (SMTP, IMAP, POP3) falla con un error de Certificate?
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
Inicia una sesión de gestión de Email en función del modo de gestión seleccionado:
  • correos electrónicos gestionados mediante los protocolos POP3, SMTP o IMAP: la función EmailStartSession permite abrir la sesión POP3, SMTP o IMAP.
Observaciones:
  • Para iniciar una sesión de lectura de correos electrónicos (sólo protocolo POP3), utilice EmailStartPOP3Session.
  • Para iniciar una sesión de envío de correos electrónicos (sólo protocolo SMTP), utilice EmailStartSMTPSession. Esta función también se puede utilizar para iniciar una sesión SMTP autenticada.
// Send an email via the POP3 protocol
IF EmailStartSession(USER, PASSWORD, "pop3.gmail.com", "smtp.gmail.com") = True THEN
UserName = USER
ELSE
UserName = ""
Error("Unable to establish the connection")
END
Sintaxis

Iniciar una sesión de Email (POP3, SMTP, IMAP, Notes o Outlook) Ocultar los detalles

<Result> = EmailStartSession(<Session>)
<Result>: booleano
  • True si se inició la sesión,
  • False en caso contrario. Si se produce un error, la variable ErrorOccurred se establece en True.
    Para obtener más información sobre el error, utilice la función ErrorInfo con la constante errMessage.
<Session>: emailPOP3Session, emailSMTPSession, emailIMAPSession, emailNotesSession o emailOutlookSession Variable
Nombre de la variable que contiene la description de los parámetros de conexión del servidor Email. Todas las propiedades de conexión se especifican en las propiedades de Variable. Para obtener más información, consulte:
  • variable de tipo emailPOP3Session: para iniciar una sesión hacia un servidor POP3 para leer los mensajes.
  • variable de tipo emailIMAPSession: para iniciar una sesión hacia un servidor IMAP con el fin de leer los mensajes.
  • variable de tipo emailSMTPSession: para iniciar una sesión hacia un servidor SMTP para enviar mensajes.
  • Reportes y Consultas variable de tipo emailNotesSession: para iniciar una sesión hacia un servidor Lotus Domino para poder enviar mensajes manipular.
  • Reportes y Consultas variable de tipo emailOutlookSession: para iniciar una sesión hacia el software de mensajería Outlook.
Observación: Esta sintaxis se mantiene para la compatibilidad con versiones anteriores.. Le recomendamos que utilice las variables emailOutlookSession o EmailStartOutlookSession.
Reportes y Consultas

Iniciar una sesión de Email con MS Exchange Ocultar los detalles

<Result> = EmailStartSession(<Profile> [, <Asynchronous>])
<Result>: Integro
  • Identificador del actual período de sesiones de Email.
  • 0 (o False) si se produce un error. La variable ErrorOccurred se establece en True. Para obtener más información sobre el error, utilice la función ErrorInfo con la constante errMessage.
<Profile>: Cadena de caracteres
Identifica el perfil de conexión (véanse las Notas).
Si este parámetro corresponde a una cadena vacía (""):
  • si se definen varios perfiles en la computadora actual, EmailStartSession muestra una ventana que contiene todos los perfiles entre los cuales el usuario puede elegir su propio perfil.
  • si se define un solo perfil en la computadora actual, EmailStartSession selecciona automáticamente este perfil.
<Asynchronous>: Opcional constante o booleana
emailAsynchronous o TrueLos correos electrónicos enviados durante la sesión iniciada con la función EmailStartSession deben transmitirse en modo asíncrono (ver Notas).
emailSynchronous o False
(Valor predeterminado)
Los correos electrónicos enviados durante la sesión iniciada con la función EmailStartSession deben transmitirse en modo síncrono (ver Notas).
Observación: Esta sintaxis se mantiene para la compatibilidad con versiones anteriores.. Le recomendamos que utilice las variables emailPOP3Session, emailSMTPSession o EmailStartPOP3Session y EmailStartSMTPSession.

Iniciar una sesión de Email usando los protocolos POP3 y SMTP simultáneamente Ocultar los detalles

<Result> = EmailStartSession(<Username> , <Password> , <Address of POP3 server> [, <Address of SMTP server> [, <Number of POP3 port> [, <Number of SMTP port> [, <Asynchronous>]]]])
<Result>: booleano
  • True si se inició la sesión,
  • False en caso contrario. Si se produce un error, la variable ErrorOccurred se establece en True. Para obtener más información sobre el error, utilice la función ErrorInfo con la constante errMessage.
<Username>: Cadena de caracteres
Identifica al usuario. Este nombre es suministrado por el proveedor de servicios o por el administrador de la red.. Este nombre se usará para identificar la sesión de Email en las diferentes funciones para la gestión de Email.
<Password>: Cadena de caracteres
Contraseña de usuario. Esta contraseña es proporcionada por el proveedor de servicios o por el administrador de la red.
<Address of POP3 server>: Cadena de caracteres
IP Address del servidor Email (protocolo de entrada). Esta IP Address es suministrada por el proveedor de servicios o por el administrador de la red. Esta IP Address puede tener el siguiente formato:
  • IP Address en formato XXX.XXX.XXX.XXX (125.5.110.100 por ejemplo).
  • IP Address que contiene el nombre del servidor (pop3.freesbee.eu por ejemplo). Se recomienda esta sintaxis.
  • IP Address devuelta por NetIPAddress.
<Address of SMTP server>: Cadena de caracteres opcional
IP Address del servidor Email (protocolo de salida). Esta IP Address es suministrada por el proveedor de servicios o por el administrador de la red.
Esta Address debe ser especificada sólo si la cuenta POP3 y la cuenta SMTP no pasan por el mismo ordenador.
<Number of POP3 port>: Entero opcional
Identifica el puerto utilizado para el protocolo POP3 (110 por Default).
<Number of SMTP port>: Entero opcional
Identifica el puerto utilizado para el protocolo SMTP (25 por Default).
<Asynchronous>: Opcional constante o booleana
emailAsynchronous o TrueLos correos electrónicos enviados durante la sesión iniciada con la función EmailStartSession deben transmitirse en modo asíncrono (ver Notas).
emailSynchronous o False
(Valor predeterminado)
Los correos electrónicos enviados durante la sesión iniciada con la función EmailStartSession deben transmitirse en modo síncrono (ver Notas).
Observaciones

Protocolos POP3 y SMTP

Los diferentes parámetros pasados a EmailStartSession los proporciona el proveedor de servicios INTERNET o el administrador de la red.
Se necesita una conexión INTERNET para gestionar los correos electrónicos. Pueden darse varios casos:
  • El usuario utiliza una conexión directa a INTERNET (cable o ADSL): no se requiere ninguna operación específica.
  • El usuario utiliza un módem para conectarse a INTERNET: NetOpenRemoteAcceso remoto establece la conexión con INTERNET.
Por defecto, si sólo se especifica la IP Address del servidor POP3, esta Address será utilizada por el servidor Email que utiliza SMTP. El IP Address del protocolo SMTP debe especificarse sólo si la cuenta POP3 y la cuenta SMTP no utilizan el mismo ordenador.

SMTP autenticado

La autenticación SMTP no puede realizarse con la función EmailStartSession. Para iniciar una sesión POP3 y una sesión SMTP autentificada al mismo tiempo, debe utilizar tanto EmailStartPOP3Session como EmailStartSMTPSession.

Conexión con autenticación de dos factores

Cada vez más proveedores ofrecen cuentas seguras de Email (SMTP/IMAP) con autenticación de dos factores.
El principio es el siguiente:
  • Conectar con el proveedor Email mediante OAuth: esta conexión proporciona una Token.
  • Utilice el token para conectarse a los buzones IMAP o SMTP Email.
Veamos un ejemplo de código que se puede utilizar:
// Example of IMAP connection with a Gmail account
// and two-factor authentication
OAuthGoogleCnt is OAuth2Parameters
gMyIMAPSession is emailIMAPSession
 
// IMAP server parameters
gMyIMAPSession.ServerAddress = "imap.gmail.com"
gMyIMAPSession.Option = optionSSL
MyIMAPSession.Port = "993"
 
// OAuth connection parameters
OAuthGoogleCnt.ClientID = "Application ID"
OAuthGoogleCnt.ClientSecret = "Secret application ID"
OAuthGoogleCnt.AuthURL = "https://accounts.google.com/o/oauth2/auth"
OAuthGoogleCnt.TokenURL = "https://accounts.google.com/o/oauth2/token"
OAuthGoogleCnt.Scope = "https://mail.google.com/"
OAuthGoogleCnt.RedirectionURL = "http://localhost:9000"
OAuthGoogleCnt.ResponseType = "code"
 
// OAuth authentication
gMyIMAPSession.AuthToken = AuthIdentify(OAuthGoogleCnt)
// If the authentication was successful, log in to email inbox.
IF gMyIMAPSession.AuthToken <> Null THEN
IF EmailStartSession(gMyIMAPSession) THEN
// Session started
ELSE
// Error starting the session.
END
ELSE
// Authentication error.
END

Timeout

El tiempo de espera puede ser set utilizando EmailSetTimeOut.
Reportes y ConsultasWindows

Creación de un perfil de Outlook Exchange

Para iniciar una nueva sesión Email, es necesario definir un "perfil".. Este "perfil" se define en la configuración de la conexión INTERNET.
Para crear un perfil:
  1. Abre el panel de control.
  2. Haz doble clic en la opción "Email".
  3. Haga clic en el botón "Mostrar los perfiles".
  4. En la ventana "Elegir un perfil", pulse el botón "Añadir".
  5. Dar un nombre al perfil. Este nombre se utilizará en los programas WINDEV.
  6. Seleccione "Añadir una nueva cuenta Email".
  7. Seleccione el servicio "Microsoft Exchange Server".
  8. Introduzca el nombre del servidor Microsoft Exchange.

Gmail: ¿Qué hacer si una conexión a Gmail (SMTP, IMAP, POP3) falla con un error de Certificate?

Desde agosto de 2017, una nueva Certificate fue desplegada por Google: Google INTERNET Authority G3. Desafortunadamente, el API de Windows para comprobar las Certificate s no valida esta Certificate.
Por lo tanto, el inicio de una sesión POP3, IMAP o SMTP puede fallar con el error "La cadena Certificate no fue emitida por una autoridad de confianza".
Para validar la Certificate, todo lo que tienes que hacer es modificar el modo de gestión de los correos electrónicos. La función EmailConfigure de WLanguage permite cambiar este modo y dejar de utilizar la API de Windows que bloquea esta Certificate. Se debe agregar el siguiente código antes de iniciar la sesión con la función EmailStartSession:
// Enable the multi-platform implementation
EmailConfigure(emailParameterMode, 1)
Observación: A partir de la versión 23 Actualización 1, la llamada a EmailConfigure ya no es necesaria: WLanguage utiliza automáticamente el modo de gestión de los correos electrónicos adaptados a la sesión.
Componente: wd290com.dll
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: 29/06/2023

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