繁体   English   中英

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

[英]Mailto link not copying body of email on 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 和 Gmail for Android 的 Windows 10 操作系统上运行良好。

我需要为 Chromebook 更改某些内容吗?

如何设置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."

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

很高兴知道,mailto 链接中的主题和正文在RFC 2368 - mailto URL 方案中进行了描述

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

另请注意“不安全的标题”有一段 - 所以我认为内容可能也很重要。

  1. 不安全的标头

    如果任何标头被认为是危险的,解释 mailto URL 的用户代理应该选择不创建消息; 它还可以选择仅使用 URL 中给出的标头的子集来创建消息。 只有主题、关键字和正文标题被认为既安全又有用。

尝试这个

 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">

另一个稳定的选择是使用<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>

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

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

这是使用窗口名称启发的 MDN 链接: https : //developer.mozilla.org/en-US/docs/Web/API/Window/open#Parameters

下面是一些代码来测试它。

*注意:出于安全原因,我认为 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM