How to create an email button with javascript


I couldn't find a post that really matches my question, so here we go:

I want to implement a "share via mail" button to my website, so when you click the button let's say outlook or thunderbird opens and gives you the option to share the website link within a new mail.

I'm not quite sure but I think I won't be able to do it completely with html only, cause facebook i.e. is also running JSs when you link to their share-site.

You don't need javascript for this. Just a simple HTML:

<a id="emailMe" href="mailto:[email protected]">e-mail me</a>

You can also define a subject but you must remember that you can only use characters a-z and numbers 0-9. Other characters must be url-encoded, e.g. subject "This is a subject" should be encoded like this

<a id="emailMe" href="mailto:[email protected]?subject=This%20is%20a%20subject">e-mail me</a>

If you don't want to manually encode each character which is pretty obvious, here comes javascript finally:

var subject = "This is a subject";
var subjectEncoded = encodeURIComponent(subject);
document.getElementById('emailMe').href = "mailto:[email protected]?subject=" + subjectEncoded;