Andreas Spaeth
Andreas Spaeth

Reputation: 183

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.

Upvotes: 6

Views: 16940

Answers (4)

Sobin Augustine
Sobin Augustine

Reputation: 3775

email link with js

var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');
aTag.setAttribute('href',"mailto:[email protected]?subject=Subject&body=message%20goes%20here");
aTag.innerHTML = "share via mail";
mydiv.appendChild(aTag);

Upvotes: 3

matewka
matewka

Reputation: 10168

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;

Upvotes: 7

Top Questions
Top Questions

Reputation: 1852

<a href="mailto:?Subject=SubjectHere&body=ThisIsTheMailtext">

Why would you use javascript? Now it opens and you have to put the recipient in /its empty).

Upvotes: 3

geevee
geevee

Reputation: 5461

here you go:

<a href="mailto:[email protected]?subject=just-a-subject">Send a mail</a>

hope it helped.

Upvotes: 6

Related Questions