Mailto链接未复制Chromebook上的电子邮件正文

时间:2019-06-05 17:39:24

标签: javascript gmail mailto google-chrome-os chromebook

我正在生成一个mailto:链接,其中也包含电子邮件的正文。我正在使用JavaScript打开链接以启动操作系统的mailto:客户端。在Chromebook上,链接打开的Gmail带有电子邮件地址,但没有电子邮件正文。这是链接:

var MailToLink = 'mailto:test@test.com?subject=Test%20Email%20Subject&body=Great,%20the%20mailto%20protocol%20works%20and%20you%27re%20good%20to%20go.%20Good%20luck.'

这是我用来打开链接的行:window.open(MailToLink, '_blank');

它在具有Thunderbird和Android版Gmail的Windows 10操作系统上运行良好。

我需要为Chromebook进行更改吗?

4 个答案:

答案 0 :(得分:3)

如何设置location.href而不是创建弹出窗口?

location.href = "mailto:test@test.com?subject=Test%20Email%20Subject&body=Great,%20the%20mailto%20protocol%20works%20and%20you%27re%20good%20to%20go.%20Good%20luck."

  

寻找可靠和/或官方来源的答案。

很高兴知道,邮件链接中的主题和正文在RFC 2368 - The mailto URL scheme

中有所描述
  

客户      将mailto URL解析为邮件消息应该能够正确      使用“主题”和“正文”创建符合RFC 822的邮件消息      标头。

也请注意,“不安全标题”中有一段-因此,我认为内容可能也很重要。

  
      
  1. 不安全的标头

         

    解释mailto URL的用户代理应该选择不创建   消息,如果任何标题被认为是危险的;它也可能   选择仅使用以下标题中的一部分创建消息   网址。仅相信主题,关键字和正文标头   既安全又有用。

  2.   

答案 1 :(得分:2)

尝试一下

var MailToLink = 'mailto:test@test.com?subject=Test%20Email%20Subject&body=Great,%20the%20mailto%20protocol%20works%20and%20you%27re%20good%20to%20go.%20Good%20luck.'
var sendEmail = document.getElementById('sendEmail');

  sendEmail.addEventListener('click', function (e){
    window.location.href = MailToLink;
  });
<input type="button" id="sendEmail" value="submit">

答案 2 :(得分:1)

另一个稳定的选择是使用<a>并使用javascript编辑href

例如

var mailto = "mailto:test@test.com?subject=Test%20Email%20Subject&body=Great,%20the%20mailto%20protocol%20works%20and%20you%27re%20good%20to%20go.%20Good%20luck."

document.getElementById("myLink").setAttribute("href", mailto)
<html>
<body>
    <a id="myLink">Create email now!</a>
</body>
</html>

不确定这是否符合您的要求。

答案 3 :(得分:0)

最简单的方法可能是使用经典邮件使用锚标记进行链接,但是,我猜您是出于特定原因使用JavaScipt,所以如果您将简单名称指定为第二个参数而不是一个'_blank'或'_self'值的形式。例如,您可以将其命名为“ emailWindow” 或类似名称。

以下是使用窗口名称https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Parameters

启发的MDN链接

,下面是一些代码进行测试。

*注意:出于安全原因,我相信StackOverflow已禁用了打开新窗口的功能,因此您必须在本地测试按钮代码,对不起

var MailToLink = 'mailto:test@test.com?subject=Test%20Email%20Subject&body=Great,%20the%20mailto%20protocol%20works%20and%20you%27re%20good%20to%20go.%20Good%20luck.'

const sendEmailButton = document.getElementById('sendEmailButton');
sendEmailButton.onclick = () => {
    window.open(MailToLink, 'emailWindow');
    if (window.open && !window.closed) {window.close();}
};
<h1>Anchor Tag and Button Versions of Mail To</h1>

<h2>The anchor tag version</h2>
<a href="mailto:test@test.com?subject=Test%20Email%20Subject&body=Great,%20the%20mailto%20protocol%20works%20and%20you%27re%20good%20to%20go.%20Good%20luck.">test mail to using href</a>


<h2>the button version</h2>
<button type="button" id="sendEmailButton">test mail to using button</button>