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

IT技术 javascript mailto
2021-03-09 05:21:19

当用户在页面上保存某些内容时,我需要自动打开用户的默认电子邮件客户端。我需要填充电子邮件主题、地址,并在电子邮件正文中放入一些内容。

实现这一目标的最佳选择是什么?

我知道该mailto:属性,但用户必须单击它,我不确定它是否允许您指定主题和内容?

4个回答

RFC 6068 所述,mailto 允许您指定主题正文,以及抄送字段。例如:

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

如果您强制使用 JavaScript 打开链接,则用户无需单击链接

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

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

是否可以发送包含上述详细信息的附件?
2021-04-22 05:21:19
如果消息超过字符限制怎么办?这是一个很好的解决方法,但它似乎不是一个优雅的解决方案。
2021-04-27 05:21:19
有没有办法使用 jQuery 将图像(不是 url,而是实际图像)加载到消息中?
2021-05-08 05:21:19
如果我需要添加一些其他内容作为示例图像、css 或 html 怎么办
2021-05-15 05:21:19

查询:

$(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>
如何通过这种方式发送html内容
2021-05-13 05:21:19

在不使用 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;
}

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

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