我在加密的HTML电子邮件中有一个链接到mailto:blahblah,但它在Chrome Gmail中被屏蔽了。我能做些什么吗?
示例:
1)我在加密 GMail网络客户端(https://gmail.com)中打开加密 HTML电子邮件 - 请注意 s 在https)。
2)电子邮件中包含以下格式的链接:<a href="mailto:user@example.com">Email the user.</a>
3)我点击该链接,但它被阻止,因为GMail和/或Chrome将mailto链接视为不安全的内容。
4)我将target="_blank"
添加到上述链接中,问题就消失了。
消息的其余部分正确显示和运行,因为同样,消息和我的电子邮件客户端都在使用加密。唯一不起作用的是mailto链接。
奖金问题:如何根据HTTP和HTTPS等协议对mailto链接进行分类?链接到W3C文档会很有帮助。
答案 0 :(得分:5)
从这里开始:mailto link not working within a frame chrome (over https)
建议使用target="_top"
代替target="_blank"
。
答案 1 :(得分:0)
将target="_blank"
添加到mailto链接。
答案 2 :(得分:0)
我发现了一个简单的解决方案,只需在您的表单操作之前添加https://:
<a href="mailto:user@example.com">Email the user.</a>
将其更改为:
<a href="https://mailto:user@example.com">Email the user.</a>
我通过这样做解决了我的问题,希望对您有所帮助。 如果您找到解决方案,请标记为解决方案。 谢谢。
答案 3 :(得分:0)
我用一个 JavaScript 小技巧解决了这个问题。
这是我的 index.html
<div>
<input id="cname" required="" name="subject" type="text">
<label for="cname">Name</label>
<textarea id="cmessage" required="" name="body"></textarea>
<label class="label-control" for="cmessage">Your message</label>
</div>
<button onclick="sendMail()">Click me</button>
和之前加载到 index.html 中的 script.js。
function sendMail() {
var body = document.getElementById("cmessage").value;
var subject = document.getElementById("cname").value;
window.location.replace(`mailto:hello@domain.com?body=${body}&subject=${subject} wants to contact you`);
}
现在我得到了完整的绿色锁。