I need to automatically open a user\'s default email client when they save some content on a page. I need to populate the email subject, to address, and put some content in
JQuery:
$(function () {
$('.SendEmail').click(function (event) {
var email = 'sample@gmail.com';
var subject = 'Test';
var emailBody = 'Hi Sample,';
var attach = 'path';
document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody+
"?attach="+attach;
});
});
HTML:
<button class="SendEmail">Send Email</button>
Try this: It will open the default mail directly.
<a href="mailto:demo@demo.com"><img src="ICON2.png"></a>
As described by RFC 6068, mailto allows you to specify subject and body, as well as cc fields. For example:
mailto:username@example.com?subject=Subject&body=message%20goes%20here
User doesn't need to click a link if you force it to be opened with JavaScript
window.location.href = "mailto:user@example.com?subject=Subject&body=message%20goes%20here";
Be aware that there is no single, standard way in which browsers/email clients handle mailto links (e.g. subject and body fields may be discarded without a warning). Also there is a risk that popup and ad blockers, anti-virus software etc. may silently block forced opening of mailto links.
Implemented this way without using Jquery:
<button class="emailReplyButton" onClick="sendEmail(message)">Reply</button>
sendEmail(message) {
var email = message.emailId;
var subject = message.subject;
var emailBody = 'Hi '+message.from;
document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody;
}