|
|
|
|
- Email address to check
- Validation by server: Necessary conditions
- List of TLDs used during a string syntactic validation
EmailCheckAddress (Function) In french: EmailVérifieAdresse Checks the validity of an email address. 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 Syntax
<Result> = EmailCheckAddress(<Address> [, <Validation level>])
<Result>: Integer constant Constant used to find out whether the address passed as parameter is valid: | | emailAddressError | An error occurred during the check. ErrorInfo returns the details of the error. | emailAddressIncorrectSyntax | The syntax of address is incorrect. | emailAddressRefused | The address was refused by the email server. ErrorInfo returns the reason for the refusal. | emailAddressValid | The address is valid. This address can be used by EmailSendMessage. | Remark: A timeout may be required according the response time of the server. <Address>: Character string Email address to check. <Validation level>: Optional integer constant Desired type of validation. You have the ability to use one of the following constants: | | emailValidateByServer | Checks whether the SMTP email server of the domain to which the address belongs accepts the address in input. The syntax of the email address is automatically checked (emailValidateSyntax constant).
| emailValidateSyntax (Default value) | Checks the syntax of the email address. The TLD (Top Level Domain) is not checked. | emailValidateSyntaxStrict | Checks the syntax of the email address as well as the TLD (Top Level Domain) in relation to the list of existing TLDs (see Notes).
|
Remarks Email address to check - Although email addresses with the format "@[domain name].tld" have a valid syntax according to the RFC822 standard, they are not supported by EmailCheckAddress.
- If the <Validation level> corresponds to the emailValidateSyntax constant, the email address can contain an empty TLD ("doe@domain." for example).
- If the <Validation level> corresponds to the emailValidateByServer or emailValidateSyntaxStrict constant, the email address cannot contain any empty TLD ("vince@domain." for example). In this case, <Result> corresponds to emailAddressIncorrectSyntax.
Validation by server: Necessary conditions To use the validation by server (emailValidateByServer constant), the application must be able to contact: - a DNS server (by UDP on port 53),
- the email server of the domain to which the address to check belongs (by TCP, port 25).
Therefore, the firewalls may have to be configured specifically. Caution: In some cases, an email server may accept a non-existing address (when the server is a relay server that cannot access the list of accounts of the domain for which the emails are collected). In this case, <Result> will correspond to the emailAddressValid constant even if the address does not exist. Furthermore, the time for retrieving the sever response can be quite long. Remark: The interrogated SMTP email server is found by the MX record (Mail Exchanger) of the domain of the email address. List of TLDs used during a string syntactic validation When performing a strict syntactic check (emailValidateSyntaxStrict constant), a list of international and national TLDs is used. The list of TLDs was updated with the official IANA list (Internet Assigned Numbers Authority) dated May 2021. Remark: The available TLDs may have changed since this update.
Related Examples:
|
Complete examples (WINDEV): WD Mail
[ + ] This application is an email client developed in WINDEV. It is based on the Email objects. This email client is used to retrieve and send emails by using the POP, IMAP and SMTP protocols. You have the ability to apply filters to the incoming emails. The application can also be used to manage several email accounts. The writing of an email is based on the HTML edit control.
|
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|