Home | Sign in | English EN

  • Properties specific to the description of emailSMTPSession variables
  • Functions that use emailSMTPSession variables
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
The emailSMTPSession type is used to access a messaging server by using the SMTP protocol (Simple Mail Transfer Protocol) in order to send emails. The characteristics of the connection can be defined and changed using different WLanguage properties.
  • For more details on the declaration of this type of variable and the use of WLanguage properties, see Declaring a variable.
  • In most cases, the SMTP server to use is the SMTP server of Internet provider (and not the one of email account). For example, if you have Internet access via Orange and a Free email account, you must use the SMTP server of Orange (and not the one of Free). To use a different SMTP server, you must use an authenticated SMTP server, that requires a secure connection in most cases.
WINDEVWEBDEV - Server code
// Connection with authentication
// SMTP session with TLS
MySMTPSession is emailSMTPSession
OAuthGoogleCnt is OAuth2Parameters
// 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 = oauth2ResponseTypeCode
// OAuth authentication
MySMTPSession.ServerAddress = "smtp.gmail.com"
MySMTPSession.Name = "user@gmail.com"
MySMTPSession.Password = "secret"
MySMTPSession.Port = 587
MySMTPSession.Option = emailOptionSecuredTLS
MySMTPSession.AuthToken = AuthIdentify(OAuthGoogleCnt)
// If the authentication was successful, log in to email inbox
IF MySMTPSession.AuthToken <> Null THEN
IF EmailStartSession(MySMTPSession) = False THEN
// Error while starting the session
Error("Unable to start the SMTP session.", ErrorInfo(), ...
"In case of timeout, check the parameters of the " + ...
"""Firewall"" on the port used (" + ...
MySMTPSession.Port + ")")
// Send a message
MyEmail is Email
EmailSendMessage(MySMTPSession, MyEmail)
// Authentication error

Properties specific to the description of emailSMTPSession variables

The following properties can be used to handle an emailSMTPSession variable:
Property nameType used Effect
AsynchronousBoolean or Integer constant
  • emailAsynchronous (or True) if the emails sent during the session started by EmailStartSMTPSession must be transmitted in asynchronous mode.
  • emailSynchronous (or False) otherwise (default value).
WINDEVLinuxUniversal Windows 10 AppAndroidAndroid Widget iPhone/iPad This property is not available: the send operation is always performed in synchronous mode.
AuthTokenAuthToken variableEmail server access token to be used when if the OAuth 2.0 protocol is used (two-factor authentication). This access token is retrieved by AuthIdentify.
NameCharacter stringUsername to be used for authenticated SMTP sessions.
OptionInteger constantOptions of SMTP connection. The possible values are:
  • emailOptionDefault (default value): Start a non-secure SMTP session. In this case, the standard port is port 25.
  • emailOptionSecuredTLS: Start an SMTP session secured by the TLS protocol. In this case, the standard port is port 587.
  • optionSSL: Start an SMTP session secured by the SSL protocol. In this case, the standard port is port 465.
Universal Windows 10 App This property is not supported.
PasswordCharacter stringUser password. This password is given by the service provider or by the network administrator. This password is used to start an authenticated SMTP session.
PortIntegerIdentifies the port used for the SMTP protocol (25 by default).
ServerAddressCharacter stringDNS name or IP address of email server (outgoing protocol). This address is supplied by the service provider or by the network administrator.
Caution: You must use the SMTP server of the provider of Internet connection. This SMTP server may have no link with the SMTP server associated with the email account.

Functions that use emailSMTPSession variables

EmailSendMessageSends an email using a given protocol (SMTP, MS Exchange, Lotus Notes, Outlook).
EmailCloseSessionCloses an email management session depending on the selected mode (SMTP/POP3, IMAP, MS Exchange or Lotus Notes).
EmailStartSessionStarts an email management session based on the selected management mode (POP3, SMTP, IMAP or MS Exchange).
Related Examples:
WD Mail 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.
Minimum version required
  • Version 15
This page is also available for…
Click [Add] to post a comment