ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Communication / Managing emails
  • Creating a profile
  • Timeout
  • Managing emails in asynchronous mode
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Allows you to access data handled by the Outlook messaging software (emails, contacts, groups of contacts, tasks, appointments and folders). This function is equivalent to OutlookStartSession.
Caution: This function cannot be used to access the data handled by the Outlook Express messaging software.
Remark: When using EmailStartOutlookSession, the current directory is automatically modified by Outlook.
Example
// Start the session
IF EmailStartOutlookSession("MyProfile") <> 0 THEN
Info("Session started")
ELSE
ErrorInfo()
END
nOutlookSessionID is int
// Start the Outlook session with the default profile
nOutlookSessionID = EmailStartOutlookSession("")
// Session started?
IF nOutlookSessionID = 0 THEN
// Failure starting the session
Error("Failure starting the Outlook session", ErrorInfo())
ELSE
// Process
Info("List of email folders of Outlook:", ...
EmailListFolder(nOutlookSessionID))
// Close the session
EmailCloseSession(nOutlookSessionID)
END
Syntax

Starting the Outlook session Hide the details

<Result> = EmailStartOutlookSession(<Profile>)
<Result>: Integer
  • Session identifier.
  • 0 (or False) if an error occurred. The ErrorOccurred variable is set to True. To get more details on the error, use ErrorInfo with the errMessage constant.
<Profile>: Character string
Identifies the connection profile (see Notes).
If this parameter corresponds to an empty string (""):
  • if several profiles are defined on the current computer, EmailStartOutlookSession displays a window containing all profiles among which the user can choose his own profile.
  • if a single profile is defined on the current computer, EmailStartOutlookSession automatically selects this profile.

Starting the Outlook session while specifying the management mode of contacts/participants Hide the details

<Result> = EmailStartOutlookSession(<Profile> , <Asynchronous> [, <Start options>])
<Result>: Integer
  • Session identifier.
  • 0 (or False) if an error occurred. The ErrorOccurred variable is set to True. To get more details on the error, use ErrorInfo with the errMessage constant.
<Profile>: Character string
Identifies the connection profile (see Notes).
If this parameter corresponds to an empty string (""):
  • if several profiles are defined on the current computer, EmailStartOutlookSession displays a window containing all profiles among which the user can choose his own profile.
  • if a single profile is defined on the current computer, EmailStartOutlookSession automatically selects this profile.
<Asynchronous>: Constant or boolean
Mode for sending the emails:
emailAsynchronous or TrueThe outgoing emails must be transmitted in asynchronous mode (see the Notes).
emailSynchronous or False
(Default value)
The outgoing emails must be transmitted in synchronous mode (see the Notes).
WINDEV This parameter must correspond to emailSynchronous or False.
<Start options>: Optional integer constant
Mode for starting the Outlook session:
outlookAPTWithContact
(Default value)
The AppointmentXXX functions will list the contacts associated with the appointments in the mAppointment.Participant variable (see Appointment structure).
outlookAPTWithParticipantThe AppointmentXXX functions will list the participants associated with the appointments in the following variables:
  • mAppointment.Participant
  • mAppointment.ParticipantCc
  • mAppointment.ParticipantBcc
For more details, see Appointment structure.
Remarks

Creating a profile

To start a new session with Outlook, a "profile" must be defined. This "profile" is defined in the configuration of the Internet connection with Outlook.
To create a profile:
  1. Start Outlook.
  2. In the "Choosing a profile" window, click [New].
  3. Select the "Microsoft Exchange Server" service.
  4. Give a name to the profile.
  5. Enter the name of Microsoft Exchange server.

Timeout

The timeout can be set using EmailSetTimeOut.
WEBDEV - Server codeAjax

Managing emails in asynchronous mode

The email functions are locking functions by default. Which means that no other code can be run during their execution. The program will resume only when the current Email functions have been run.
WEBDEV gives you the ability to manage the emails in asynchronous mode. This mode allows your sites to send emails without locking the execution of other processes.
To use the asynchronous mode, you must:
  1. Uncheck "Disable the email spooler" in the WEBDEV administrator ("Advanced" tab).
  2. Enable the asynchronous mode when the SMTP session is started (by EmailStartSMTPSession or EmailStartSession).
  3. All outgoing emails will be transmitted to a "spooler". Emails are queued up before being sent.
Executing Email functions does no longer block the rest of the program. EmailStatus is used to determine the status of an email.
Remark: If the WEBDEV administrator is closed, the email spooler is cleared: pending emails are not sent and are removed from the spooler.
If there are pending emails, and the "Disable the email spooler" option is checked, the emails will not be lost: the administrator continues to send them, but the spooler will not accept any new emails.
Caution: The asynchronous mode can only be used when starting a session on an SMTP server (EmailStartSMTPSession for sending emails or EmailStartSession). The asynchronous mode is ignored in all other cases.
Component: wd300com.dll
Minimum version required
  • Version 11
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 07/03/2023

Send a report | Local help