javascript 自动打开默认电子邮件客户端并预填充内容

pkwftd7m  于 2023-03-21  发布在  Java
关注(0)|答案(4)|浏览(187)

我需要自动打开一个用户的默认电子邮件客户端时,他们保存在一个页面上的一些内容。我需要填充电子邮件主题,地址,并把一些内容在电子邮件正文。
实现这一目标的最佳选择是什么?
我知道mailto:属性,但是用户必须点击这个,我不确定它是否允许你指定主题和内容?

tjjdgumg

tjjdgumg1#

RFC 6068所述,mailto允许您指定 subjectbody,以及 cc 字段。例如:

mailto:username@example.com?subject=Subject&body=message%20goes%20here

如果您force it to be opened with JavaScript,用户无需单击链接

window.location.href = "mailto:user@example.com?subject=Subject&body=message%20goes%20here";

请注意,浏览器/电子邮件客户端处理mailto链接的方式并不单一(例如,主题和正文字段可能会在没有警告的情况下被丢弃)。此外,弹出窗口和广告拦截器、防病毒软件等可能会默默地阻止强制打开mailto链接。

eagi6jfj

eagi6jfj2#

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;
      });
    });

超文本标记语言:

<button class="SendEmail">Send Email</button>
n7taea2i

n7taea2i3#

在不使用Jquery的情况下实现:

<button class="emailReplyButton" onClick="sendEmail(message)">Reply</button>

function sendEmail(message) {
    var email = message.emailId;
    var subject = message.subject;
    var emailBody = 'Hi '+message.from;
    document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody;
}
3npbholx

3npbholx4#

**试试这个:**直接打开默认邮件。

<a href="mailto:demo@demo.com"><img src="ICON2.png"></a>

相关问题