Mailto link with HTML body
⚡TLDR
To incorporate HTML into a mailto
hyperlink's body, make sure to perform URL encoding. This will convert unique HTML characters into a web-safe format. However, the support for HTML in a mailto
body varies across different email clients and might not always work.
Here's a quick example for embedding bold text in the email body:
Keep in mind:
- URL encoding is mandatory for HTML within
mailto
links. - Different email clients show different level of support for HTML, thus thorough testing is crucial.
- Pay great attention to security elements while dealing with this process.
A few key points to remember about HTML in mailto links:
- RFC 6068, the official regulation, disallows the use of HTML tags in
mailto
link bodies. This means, plain text is the only way to go. - Despite this, some systems like iOS might render HTML tags in the body, but it is not a standard method and might lead to inconsistencies.
- For a richer email formatting, consider creating an
.eml
file using JavaScript and Blobs. This can then be downloaded and opened by users in their preferred email client.
SQL of mailto: Encoding, Testing, Tweaking
Parameters in mailto
URLs need careful encoding and testing to handle edge cases:
- Encode line breaks as
%0D%0A
. This helps with separating sections within yourmailto
link body. - Outlook recognizes line breaks
%0D
. However, it doesn't interpret the content as HTML. - Use
window.location.href
in JavaScript to create a dynamic redirect to amailto
link filled with URL-encoded content.
The example below demonstrates how to use encodeURIComponent()
function for lines breaks and special characters:
Pro-tips and Pitfalls
Let's avoid stepping on a rake 🪓:
- Remember, spam filters don't like certain encoded characters, so always tests your
mailto
links to ensure all your emails reach their destination 🎯 - Keep your encoded HTML short and simple, because long URLs can make browsers 🙄
- To enhance user experience, consider offering a downloadable EML file with rich content.
To create a downloadable EML file, use this handy JavaScript snippet:
Next Level: User Options
Give your users the choice :
- Provide HTML-rich emails as .eml downloads for desktop clients, while for their mobile counterparts, stick to simple links due to the limitations of mobile clients.
- Always insert an alternative plaintext version for the utmost compatibility.
- Educate users about the potential variability in email formatting across different email clients.
Linked
Was this article helpful?