mailto is a Uniform Resource Identifier (URI) scheme for email addresses. It is used to produce hyperlinks on websites that allow users to send an email to a specific address directly from an HTML document, without having to copy it and entering it into an email client.
It was originally defined by Request for Comments (RFC) 1738 in December 1994,[1] expanded by RFC 2368 in July 1998,[2] and refined by RFC 6068 in October 2010.[3]
"mailto" can be used within an HTML document to generate a link for sending email:
Clicking on the hyperlink automatically opens the default email client, with the destination email address pre-filled.
It is possible to specify initial values for headers (e.g. subject, cc, etc.) and message body in the URL. Blanks, carriage returns, and linefeeds cannot be directly embedded but must be percent-encoded:[4]
Multiple addresses can be specified:[3]
The address can be omitted:
See also: Address munging.
A number of security issues are mentioned in RFC 6068, one of them being robotic address harvesting. Mailto constructs are locatable within HTML pages by automated means which typically include the use of DOM constructs or regular expressions. Addresses harvested by such means are liable to be added to spammers' mass-mailing lists and thus to receive large amounts of unwanted mail.
While methods exist to "harden" mailto links against harvesting—address munging and JavaScript-based address obfuscation among them—these protections can be circumvented by sufficiently sophisticated harvesting robots. Other techniques, like walling the address behind a CAPTCHA or similar "humanity check", provide security on par with that available for other contact methods, most notably web forms, which experience similar challenges with preventing spam.