Search code examples
javascripthtmlemailmailto

Creating email link with dynamically generated body with html5 & javascript


Am trying to create a link to create an email to send information to the user, the body of which needs to be filled with data generated by a javascript function, and hope that someone can help.

Idealy, if I could substitute the 'body_blurb' below, with a string returned from a javascript function called at the time of clicking that'd be perfect.

<A HREF="mailto:[email protected]?subject=Data&body=body_blurb">e-mail data</a>

Appreciate your time


Solution

  • I just assigned an id to the link here, but you could create something more generic if you wanted. Once you have an onclick handler created you can access the url with href. Set this to whatever you want.

    http://jsfiddle.net/f3ZZL/1

    var link = document.getElementById('email');
    link.onclick = function() {
        this.href = "mailto:[email protected]?subject=Data&body=";
        this.href += getBody();
    };
    
    function getBody() {
        return 'HelloWorld';
    }