[英]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 的邮件消息。
另请注意“不安全的标题”有一段 - 所以我认为内容可能也很重要。
不安全的标头
如果任何标头被认为是危险的,解释 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.