Root > Integral parts > Send engines > Shell

Shell

Previous pageReturn to chapter overviewNext page   

This method sends bug report via ShellExecute(..., 'mailto:example@example.com?subject=error&body=report', ...).

 

The mailto URI scheme, as registered with the Internet Assigned Numbers Authority (IANA), defines the scheme for Simple Mail Transfer Protocol (SMTP) email addresses. Though its use is not strictly defined, URLs of this form are intended to be used to open the new message window of the user's email client when the URL is activated, with the address as defined by the URL in the "To:" field.

 

The software mechanism activated by the link requires that a default email client be established on the computer. This must be a local program, typically using the SMTP protocol to send outbound mail. With the rise in use of webmail-based email, many computers lack local email client software. Alternatively, email client software may have been preinstalled by the computer vendor, but never used or configured.

 

This is the same protocol, which is used to send mails from web site in browser. For example:

 

 

mailto link in web-browser

 

 

HTML source code for example above

 

Examples of e-mail clients with mailto protocol support: Windows Mail, Outlook Express, Outlook, Mozilla Thunderbird, The Bat!. Well, most e-mail clients support it.

 

 

Advantages:

Available (almost) always, since it's very easy to implement and it's included in basic operation system configuration.
Have very high chances to succeed, since it uses client's configuration to send e-mail and client most likely have e-mail client installed and configured (and if not - client still can save bug report to file and send it via other way).
User uses his real e-mail address, so you can always contact him for more info.
Most common e-mail programs support mailto protocol.
Good for basic support for unsupported web-trackers (see also).

 

Drawbacks:

Depends on client's environment. You can't control it.
No backward feedback - you can't tell customer that this problem is already solved.
No bug report management.
UI interaction: requires user to click on "Send" in their e-mail clients. Automatic send without user actions is not possible.
Can be canceled.
Not customizable at all.
Limitation on message size (command-line size limitation).
Unable to send any files - message text only.
Unicode is rarely supported.
Poor (non-strict) implementation of protocol may result in encoding problems.
Always "succeed", no way to get real send result.
Launched in separate window (application).
SSL/TLS support may be not present.

 

Warning: Use this method as last sending method only. Do not insert it in the middle of send methods sequence.

 

E-mail client is registered under HKEY_CLASSES_ROOT\mailto registry key (HKEY_CURRENT_USER\SOFTWARE\Classes\mailto or HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto):

 

 

Outlook 2010 is registered as the handler for mailto protocol

 

Registration as the default Start menu email application is not equivalent to registration as the system default email client or the registered mailto handler:

The system default email client is started when the user clicks "Read e-mail" from the Internet Explorer Tools menu.
The registered mailto handler is started when the user clicks a URL of the form mailto:someone@example.com.
The Start menu email application is started when the user clicks the e-mail icon on the Start menu.
If no default Start menu email application is specified, the e-mail icon on the Start menu launches the system default email client.

 

You can test it manually by typing "mailto:example@example.com?subject=test&body=test" (without quotes) in Start/Run dialog box:

 

 

Start / Run dialog with "mailto:" URL

 

Constant: esmShellClient.

 

 

See also:




Send feedback... Build date: 2024-09-30
Last edited: 2024-04-05
PRIVACY STATEMENT
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.


Permanent link to this article: https://www.eurekalog.com/help/eurekalog/shell.php