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
  • Envíe un correo electrónico a Address para comprobar
  • Validación por el servidor: Condiciones necesarias
  • Lista de TLDs utilizados durante la validación sintáctica de una cadena
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
Comprueba la validez de un correo electrónico Address.
Ejemplo
IF EmailCheckAddress("morgan@test.com", emailValidateSyntax) <> emailAddressValid THEN
Error("Please check the email address")
END
SWITCH EmailCheckAddress("azerty@orange.com")
CASE emailAddressValid
Info("Valid address")
CASE emailAddressIncorrectSyntax
Info("The syntax of the address is incorrect.")
CASE emailAddressRefused
Info("The address was refused by the email server." + ...
"ErrorInfo returns the reason for the refusal.")
CASE emailAddressError
Info("An error occurred during the check. " + ...
"ErrorInfo returns the details of the error.")
OTHER CASE
Info("Undefined case")
END
Sintaxis
<Result> = EmailCheckAddress(<Address> [, <Validation level>])
<Result>: Constante de tipo Integer
Constante utilizada para saber si la Address pasada como parámetro es válida:
emailAddressErrorSe ha producido un error durante la verificación.. ErrorInfo devuelve los detalles del error.
emailAddressIncorrectSyntaxLa sintaxis de Address es incorrecta.
emailAddressRefusedEl Address fue rechazado por el servidor de Email. ErrorInfo devuelve el motivo de la negativa.
emailAddressValidEl Address es válido. Esta Address puede ser utilizada por EmailSendMessage.
Observación: Puede ser necesario un tiempo de espera según el tiempo de respuesta del servidor.
<Address>: Cadena de caracteres
Envía un correo electrónico a Address para comprobarlo.
<Validation level>: Constante opcional de tipo Integer
Tipo de validación deseada. Usted tiene la capacidad de usar una de las siguientes constantes:
emailValidateByServerComprueba si el servidor de correo electrónico SMTP del dominio al que pertenece el Address acepta el Address en la entrada. La sintaxis de la dirección de correo electrónico se verifica automáticamente (constante emailValidateSyntax).
AndroidWidget Android iPhone/iPadIOS Widget Esta constante no está disponible.
emailValidateSyntax
(Valor predeterminado)
Comprueba la sintaxis del correo electrónico Address. El TLD (Dominio de nivel superior) no está marcado.
emailValidateSyntaxStrictComprueba la sintaxis del correo electrónico Address así como el TLD (Top Level Domain) en relación con la lista de TLDs existentes (ver Notas).
Observaciones

Envíe un correo electrónico a Address para comprobar

  • Aunque Email direcciones con el formato "@ [ nombre de dominio ] 0300030002f002300 .tld" tienen una sintaxis válida según el estándar RFC822, no son compatibles con EmailCheckAddress .
  • Si el <Nivel de validación> corresponde a la constante emailValidateSyntax, la dirección de correo electrónico puede contener un TLD vacío (por ejemplo, "doe@dominio.").
  • Si el <Nivel de validación> corresponde a la constante emailValidateByServer o emailValidateSyntaxStrict, la dirección de correo electrónico puede contener ningún TLD vacío (por ejemplo, "vince@dominio."). En este caso, <Resultado> corresponde a emailAddressIncorrectSyntax.

Validación por el servidor: Condiciones necesarias

Para utilizar la validación mediante un servidor (constante emailValidateByServer), la aplicación debe poder contactar:
  • un servidor DNS (por UDP en el puerto 53),
  • el servidor de correo electrónico del dominio al que pertenece el Address a comprobar (por TCP, puerto 25).
Por lo tanto, es posible que los cortafuegos tengan que ser configurados específicamente.
Atención: En algunos casos, un servidor Email puede aceptar un Address inexistente (cuando el servidor es un servidor de retransmisión que no puede acceder a la lista de cuentas del dominio para el que se recogen los Email). En este caso, <Resultado> corresponderá a la constante emailAddressValid incluso si la dirección no existe. Además, el tiempo para recuperar la respuesta del servidor puede ser bastante largo.
Observación: El servidor de correo electrónico SMTP interrogado se encuentra por el MX Record (Mail Exchanger) del dominio del correo electrónico Address.

Lista de TLDs utilizados durante la validación sintáctica de una cadena

Durante una comprobación de sintaxis estricta (constante emailValidateSyntaxStrict), se utiliza una lista de TLD internacional y de TLD de país.
La lista de TLD se actualizó con la lista oficial de IANA (INTERNET Assigned Numbers Authority) de mayo de 2021..
Observación: Es posible que los TLD disponibles hayan cambiado desde esta actualización.
Componente: wd290com.dll
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
VERIFICANDO EMAIL

EmailCheckAddress(EDT_Email,emailValidateSyntax)
SWITCH EmailCheckAddress(EDT_Email)
CASE emailAddressValid
// Endereço válido
CASE emailAddressIncorrectSyntax
Info("A sintaxe do endereço está incorreta")
CASE emailAddressRefused
Info("O endereço foi recusado pelo servidor de e-mail."+CR+ErrorInfo())
CASE emailAddressError
Info("Ocorreu um erro durante a checagem "+CR+ErrorInfo())
OTHER CASE
Info("Caso indefinido")
END

// BLOG COM VIDEO E EXEMPLO

http://windevdesenvolvimento.blogspot.com/2017/10/aula-1278-email-4-emailcheckaddress.html

https://www.youtube.com/watch?v=yoYq-WYxXgw


De matos
31 10 2017

Última modificación: 29/06/2023

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