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
  • protocolo SMTP
  • Sesión y nombre de usuario
  • SMTP autenticado
  • Timeout
  • 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 enviar correos electrónicos con el protocolo SMTP. Sólo tendrá la posibilidad de enviar correos electrónicos.
Observaciones:
  • En la mayoría de los casos, el servidor SMTP a utilizar es el servidor SMTP del proveedor INTERNET (y no el de la cuenta Email). Por ejemplo, si tienes acceso a INTERNET a través de Orange y una cuenta de Email Libre, debes usar el servidor SMTP de Orange (y no el de Libre).
  • Para iniciar una sesión de recepción y lectura de correos electrónicos, utilice EmailStartPOP3Session.
  • También tiene la posibilidad de utilizar un emailSMTPSession Variable.
Ejemplo
// Send an email via a non-secure SMTP server
EmailSetTimeOut(10) //10 seconds for the timeout
// Caution: you must use the SMTP server of the Internet provider
let sSMTPServers = "smtp.orange.fr"
IF EmailStartSMTPSession(sUserName, sPassword, sSMTPServer) = True THEN
// Procedure used to initialize the email structure
Initialize_Email()
// Sends the email
IF EmailSendMessage(sUserName) = False THEN
Error()
END
EmailCloseSession(sUserName)
ELSE
Error("Unable to establish connection", ErrorInfo(), ...
"In case of timeout, check the parameters of " + ...
"""Firewall"" on the port used (25)")
END
WINDEVWindowsCódigo de Usuario (UMC)
UserName is string
 
UserName = "myaddress@gmail.com"
// Send an email via the secure SMTP protocol
EmailSetTimeOut(10) //10 seconds for the timeout
// Use a secure SMTP server with authentication
// Required to use a SMTP
// that differs from the one of the ISP
IF EmailStartSMTPSession(UserName, "Password", ...
"smtp.gmail.com", 587, False, emailOptionSecuredTLS) = True THEN
// Procedure used to initialize the email structure
Initialize_Email()
// Sends the email
IF EmailSendMessage(UserName) = False THEN
Error()
END
EmailCloseSession(UserName)
ELSE
Error("Unable to establish connection", ErrorInfo(), ...
"In case of timeout, check the parameters of the "+ ...
"""Firewall"" on the port used (587)")
END
Sintaxis
<Result> = EmailStartSMTPSession(<Username> [, <Password>] , <Address of SMTP server> [, <Number of SMTP port> [, <Asynchronous mode> [, <Option>]]])
<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 la sesión de Email en las funciones de gestión de Email (utilizada por EmailSendMessage para enviar Email s, por ejemplo).
<Password>: Cadena de caracteres opcional
Contraseña de usuario. Esta contraseña es proporcionada por el proveedor de servicios o por el administrador de la red.. Esta contraseña se utiliza para iniciar una sesión SMTP autenticada.
<Address of SMTP server>: Cadena de caracteres
Nombre DNS o 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.
Atención: Debe utilizar el servidor SMTP del proveedor de la conexión de INTERNET. Este servidor SMTP puede no tener ningún vínculo con el servidor SMTP associated con la cuenta Email.
<Number of SMTP port>: Entero opcional
Identifica el puerto utilizado para el protocolo SMTP (25 por Default).
<Asynchronous mode>: Opcional constante o booleana
emailAsynchronous (o True)Los correos electrónicos enviados durante la sesión iniciada con la función EmailStartSMTPSession deben transmitirse en modo asíncrono.
emailSynchronous (o False)
(valor predeterminado)
Los correos electrónicos enviados durante la sesión iniciada con la función EmailStartSMTPSession deben transmitirse en modo síncrono.

WINDEVUniversal Windows 10 AppJava Este parámetro debe corresponder a emailSynchronous o False.
<Option>: Constante opcional de tipo Integer
Opciones de la sesión SMTP. Los valores posibles son:
emailOptionDefault
(valor predeterminado)
Inicie la sesión SMTP.
emailOptionSecuredTLSInicie la sesión SMTP protegida por el protocolo TLS.
Universal Windows 10 App Esta constante no está disponible.
OpciónSSLInicie la sesión SMTP protegida por el protocolo SSL. Este tipo de sesión es utilizado por los servidores Orange, Free y Gmail por ejemplo.
Universal Windows 10 App Esta constante no está disponible.

Java Este parámetro no está disponible.
Observaciones

protocolo SMTP

  • Los diferentes parámetros pasados a EmailStartSMTPSession son proporcionados por el proveedor de servicios INTERNET o por el administrador de red. Se necesita una conexión INTERNET para gestionar los correos electrónicos. Pueden darse varios casos:
    • El usuario utiliza un módem para conectarse a INTERNET: NetOpenRemoteAcceso remoto establece la conexión con INTERNET.
    • El usuario utiliza una conexión directa a INTERNET (cable o ADSL): no se requiere ninguna operación específica.
  • El protocolo SMTP sólo se puede utilizar para enviar correos electrónicos. Se produce un error de WLanguage si se intenta leer correos electrónicos sin iniciar una sesión POP3 (EmailStartPOP3Session). Para iniciar una sesión POP3 y una sesión SMTP al mismo tiempo, utilice EmailStartSession.

Sesión y nombre de usuario

Después de iniciar una sesión SMTP, puede iniciar una sesión POP3 (EmailStartPOP3Session) con el mismo nombre de usuario.

SMTP autenticado

se utiliza para iniciar una sesión SMTP autentificada. Los mecanismos de autenticación soportados son SMTP Login y Plain.
Si el servidor reconoce uno de estos dos mecanismos de autenticación y si la autenticación falla, la conexión también falla.
Si el servidor no reconoce uno de estos dos mecanismos de autenticación y la autenticación falla, la función EmailStartSMTPSession intenta conectarse sin autenticación.
Observación: la autenticación SMTP no puede ser realizada por EmailStartSession. Para iniciar una sesión POP3 y una sesión SMTP autentificada al mismo tiempo, debe utilizar tanto EmailStartPOP3Session como EmailStartSMTPSession.

Timeout

El tiempo de espera puede ser set utilizando EmailSetTimeOut.
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 EmailStartSMTPSession:
// 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.
Clasificación Lógica de negocio / UI: Lógica de negocio
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: 22/06/2023

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