Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 851
Andreas Spaeth Avatar asked Oct 17 '13 09:10

Andreas Spaeth


4 Answers

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;
like image 196
matewka Avatar answered Oct 25 '22 22:10

matewka


here you go:

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

hope it helped.

like image 39
geevee Avatar answered Oct 25 '22 22:10

geevee


<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).

like image 38
Top Questions Avatar answered Oct 25 '22 22:10

Top Questions


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);
like image 22
Sobin Augustine Avatar answered Oct 25 '22 23:10

Sobin Augustine