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
  • Timeout
  • Conexión con autenticación de dos factores
  • Funcionalidad de aplicación requerida
  • 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 para recibir y leer correos electrónicos con el protocolo IMAP.. Sólo podrás leer los correos electrónicos. Tiene la posibilidad de iniciar una sesión IMAP segura a través de SSL.
Observación: Para iniciar una sesión de envío de correos electrónicos, utilice EmailStartSMTPSession.
Ejemplo
// Read an email via the IMAP protocol
IF EmailStartIMAPSession(EDT_USER, EDT_PASSWORD, "imap.mydomain.fr") = True THEN
ProcessIncomingEmails()
ELSE
Error("Unable to establish the connection")
END
Sintaxis
<Result> = EmailStartIMAPSession(<Username> , <Password> , <Server address> [, <Port> [, <Option>]])
<Result>: booleano
  • True si se inició la sesión,
  • False en caso contrario. Para obtener más información sobre el error, utilice la función ErrorInfo.
<Username>: Cadena de caracteres
Nombre de usuario en el servidor. 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.
<Server address>: Cadena de caracteres
Address del servidor Email (protocolo de entrada). Este Address es suministrado por el proveedor de servicios o por el administrador de la red. Esta Address se puede dar en el siguiente formato:
  • IP Address en formato XXX.XXX.XXX.XXX (192.168.1.1 por ejemplo).
  • IP Address que contiene el nombre del servidor (imap.midominio.fr por ejemplo). Se recomienda esta sintaxis.
  • IP Address devuelta por NetIPAddress.
Observación: El Address debe ser un Address IPv4.
<Port>: Entero opcional
Identifica el puerto utilizado para el protocolo IMAP (143 de Default).
<Option>: Constante opcional de tipo Integer
Se utiliza para especificar si se requiere una conexión SSL:
emailOptionDefault
(Valor predeterminado)
Conexión no segura.
opciónSSLSe requiere conexión SSL (para un servidor IMAP seguro).
Observación: En la mayoría de los casos, el puerto utilizado para un servidor IMAP seguro es el puerto 993 (en lugar del puerto 143, el valor de puerto de Default).
Universal Windows 10 App Esta constante no está disponible.
Observaciones

Timeout

El tiempo de espera puede ser set utilizando EmailSetTimeOut.

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
// prefix syntax of EmailStartSession
IF gMyIMAPSession.StartSession() THEN
// Session started
ELSE
// Error starting the session.
END
ELSE
// Authentication error.
END
Universal Windows 10 App

Funcionalidad de aplicación requerida

Cuando se utiliza esta función, se debe declarar una funcionalidad de la aplicación en el asistente de generación de aplicaciones.
Característica necesaria: Redes domésticas y profesionales
Esta característica permite a las aplicaciones utilizar accesos entrantes y salientes a las redes familiares y corporativas..

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 EmailStartIMAPSession:
// 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 15
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/06/2023

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