WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
EmailOpenMail (Function)
In french: EmailOuvreMessagerie
Opens the default messaging software:
  • of Web user on the browser computer.
  • of the user on the current Windows computer.
  • Universal Windows 10 AppAndroidAndroid Widget iPhone/iPadIOS WidgetMac Catalyst on the phone.
Universal Windows 10 AppAndroidAndroid Widget iPhone/iPadIOS WidgetMac Catalyst Remark: EmailRunApp can also be used to directly open the messaging software of the phone. It is recommended to use EmailRunApp (to manage attachments, send to multiple recipients, etc.).
// Opens the messaging software
// Opens the software and specifies the email recipient
// the subject and text of the email
EmailOpenMail("", "Subject: LST", "Text: The LST summary")
EmailOpenMail([<Email address> [, <Email subject> [, <Message body>]]])
<Email address>: Optional character string
Email address of recipient. This address will be displayed in the window of messaging software.
<Email subject>: Optional character string
Email subject that will be displayed in the window of messaging software.
<Message body>: Optional character string
Text of message. Non-alphanumeric characters are automatically converted in order to allow for special characters to be passed (CR characters, tabulations, ...).
WEBDEV - Browser code

Action of EmailOpenMail

EmailOpenMail triggers an action on the page displayed in the browser of Web user. However, Internet browsers allow one single action on the page per process.
For example, if a process performs the following actions:
  1. Send a page to the server (PageSubmit).
  2. Open the messaging software (EmailOpenMail).
Only the last action (open the messaging software) will be performed.
WEBDEV - Browser code

In which code should I use EmailOpenMail?

In WEBDEV, some types of buttons automatically trigger an action on the page:
  • "submit" button,
  • "other" button whose action differs from "none".
If EmailOpenMail is used in the browser click code of these buttons (or in a procedure called by this process), this function will be ignored: only the action of the button will be performed.
Consequences: EmailOpenMail cannot be used in a code triggering an action (automatically or not). This function is ignored:
  • in the click code of a "send to server" button.
  • in the click code of an "other" button whose action differs from "none".
  • if it is followed by PageSubmit or by EmailOpenMail (in the current process, in a procedure called by the current process or in another process called by Execute).
To use EmailOpenMail from a button (browser click code of the button), this button must have the following characteristics:
  • type of button: "Other".
  • action: "None".

Special cases

  • A non-fatal error is triggered if no application for sending emails is found on the device. To find out whether the application for sending emails failed to start, use the ErrorOccurred variable.
  • Universal Windows 10 AppAndroidAndroid Widget iPhone/iPadIOS WidgetMac Catalyst EmailOpenMail can be used in the emulator. It cannot be used in the simulator.
  • EmailOpenMail is a non-blocking function. The code that follows the call to this function will continue to run as soon as the application for sending emails is started.
  • There is no way to find out whether the sending of the email was validated by the user.
AndroidAndroid Widget

Application in the background: Specific case from Android 10

From Android 10, it is no longer possible to open a window when the application is in the background.
EmailOpenMail can open a window. If this function is used while the application is in the background, a fatal error will occur.
  • It is possible to determine if the application is in the background using InBackgroundMode.
  • If an application needs to interact with the user while it is in the background, the solution is to display a notification (via the Notification type). The application will be brought back to the foreground when the notification is clicked, if the ActivateApplication property is set to True. You can also open a window from the procedure passed to the ActionClick property.
Related Examples:
WM Managing Contacts Cross-platform examples (WINDEV Mobile): WM Managing Contacts
[ + ] This example presents the management of contacts for Android et iOS.
It is used o:
- list the contacts found on the phone
- call the contacts
- send SMSs to the contacts
- ...
Component: wd280com.dll
Minimum version required
  • Version 9
This page is also available for…
//Opens the default messaging software:
//Abre o software de mensagens padrão:


//Exemplo Blog e Video - Nova Gravação
De matos
20 Dec. 2016
Exemplo EmailOpenMail
Exemplo EmailOpenMail


//Blog com Video e Exemplo
De matos
17 Oct. 2016