163

看起来mailto我们嵌入网站的链接在 Chrome 中无法执行任何操作,尽管它们在 Firefox 中有效。

这里的简单示例:http: //jsfiddle.net/wAPNH/

<a href='mailto:test@test.com'>hi this is a test</a>

我们需要做一些特别的事情来启用 Chrome 中的邮件链接吗?

4

17 回答 17

145

这是特定于浏览器设置的,即根据用户的浏览器设置,它的行为会有所不同。用户可以mailto:通过访问更改链接在 chrome 中的行为方式chrome://settings/handlers,或者Chrome Settings->Content Settings->Manage Handlers...

如果该页面上未列出“电子邮件”,请参阅有关如何继续的答案。

于 2013-07-14T01:07:34.747 回答
120

这是因为 chrome 以不同的方式处理 mailto。您可以转到chrome://settings/handlers并确保哪个是默认处理程序。在您的情况下,它将是无(即未列出)。现在转到 gmail.com。当您单击书签按钮旁边的按钮时,您应该会看到类似的内容。

在chrome中设置mailto

如果您希望通过 gmail 打开所有电子邮件链接,请设置“使用 Gmail”。现在,当您单击 mailto 按钮时,chrome 将自动在 gmail 中打开。

于 2013-07-15T05:20:29.910 回答
44

就我而言,chrome在Windows 10中被关联为MAILTO协议。

我使用"Default Programs" -> "Associate a file type or protocol with a program"更改了与 Outlook 的关联。

MAILTO 在列表的下方。此屏幕截图可能会有所帮助。

在此处输入图像描述

于 2015-10-15T21:19:52.117 回答
16

我也遇到了这个问题,并最终追查到我的链接在 iframe 中,而我的网络应用程序使用 https。由于这个原因,Chrome 阻止了它(Chrome 会在 iframe 之外打开其他 mailto 链接)。

mailto link not working in a frame chrome (over https)中,kendsnyder 提到简单地改变

<a href="mailto:...">email</a>

<a target="_top" href="mailto:...">email</a>

瞧,问题解决了。该 mailto 链接现在适用于所有浏览器。

于 2014-10-01T20:51:14.440 回答
16

您需要允许 gmail 安装 mailto 协议的服务处理程序:

1) 去 gmail

2)点击地址栏末尾的小菱形图标(截图)

3) 享受

在此处输入图像描述

于 2018-02-22T07:30:21.203 回答
8

修复对我有用的问题,因为我的协议处理程序是空的

https://productforums.google.com/forum/#!topic/gmail/CQMCGRvyhCM

看redfish43的回复,总结一下

对于 mailto: - 确保您已登录 Gmail,并且活动窗口是您的 Gmail 主页面(否则不会发生任何事情)。- 将其复制/粘贴到地址栏中:

javascript:navigator.registerProtocolHandler("mailto","https://mail.google.com/mail/?extsrc=mailto&url=%s","Gmail")

如果需要,请再次将 javascript: 添加到前面,因为当您粘贴它时,Chrome 可能会修剪之前的所有内容,包括冒号。然后点击进入。

当弹出窗口打开时,点击“允许”

于 2016-02-16T13:50:17.547 回答
7

您可以尝试去chrome://settings/handlers并设置值mailto:tonone而不是gmail

于 2013-07-08T00:19:28.850 回答
3

我有同样的问题。这个问题,由于某种奇怪的原因,Chrome 将自己变成了打开 mailto: 链接的默认工具。解决方案,将您的邮件客户端作为默认应用程序打开它。如何: http: //windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7

祝你好运

于 2015-07-22T02:44:00.243 回答
3

macOS 上,还要检查 Mail.app 设置,该应用程序被选为默认电子邮件应用程序/与mailto:链接关联:

如果您曾经在 Gmail 上单击该通知,它允许在 Gmail 中打开链接而不是您的应用程序 -并且在重置 Chrome 处理程序之后,您必须在 Mail.app 设置中手动编辑它。

截屏

于 2019-04-11T08:35:25.860 回答
2

我在一个对我有用的谷歌论坛上找到了这个答案。在脚注中提到了“googleapps.exe”——我没有这个,它仍然有效。只需按照以下说明操作,但在更改注册表之前关闭所有应用程序。我还保存了现有值,以防万一它不起作用。


只需在搜索栏中输入“运行”,然后输入“regedit”,然后前往:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command\ 

编辑(双击)“(默认)”为:

"C:\Program Files (x86)\Google\Google Apps\googleapps.exe" --domain= --mailto.google.com="%1" 

而已!保存并关闭它,它应该可以正常工作!

使用这种方法可以让您不必下载 GMail 通知程序,这对于我们这些使用 GTalk 的人来说不需要,因为它会为我们完成。我不确定为什么 Google 不能轻易解决这个问题。我听说 Google Apps 尚未在 Windows 7 上进行全面测试,但很明显相同的标签适用于它。

注意:这个解决方案唯一的事情是你的机器上需要有 googleapps.exe 文件。我相信我是通过他们网站上的免费 G​​ooglePack 获得的,该网站现已停产。我尝试在网上搜索下载它的方法,但奇怪的是,它似乎现在只为企业保留,并且网上没有可用的下载链接,因为拥有它的每个人都使用谷歌更新程序流式传输它......奇怪。总之祝你好运!

于 2014-11-08T15:47:12.857 回答
1

另一种解决方案是实现您自己的自定义弹出/表单/用户控件,该控件将在所有浏览器中被普遍解释。

当然,这不会利用开箱即用的“mailto”功能。这完全取决于您所针对的可用性遵从性。对我自己来说不幸的是 - 默认情况下,每个人都可以使用 mailto,而不会“给客户带来不便”。

你的决定最终。

于 2013-07-17T22:18:43.063 回答
1

我用这段代码解决了这个问题:

    
<button onclick="email()">Contact me !</button>	

<script>
function email() {
    var str = window.open('mailto:aaaaaa@aaaaaa.net', '_blank');
}
</script>

它对我来说就像一个魅力!

于 2020-05-20T03:22:19.647 回答
0

通常<a href="mailto:hi@hi.com"></a>应该可以,但请记住,您必须在计算机上设置默认电子邮件程序。例如,我使用的是 Ubuntu 14.04,默认电子邮件是 Thunderbird,它工作正常。

于 2018-06-18T22:29:06.210 回答
0

我只是有同样的问题。创建一个函数解决了这个问题:

<script>
    function sendEmail(){        
        window.location = "mailto:test@test.com";
    }
</script>

<a onclick="sendEmail();">hi this is a test</a>
于 2020-11-17T17:49:52.630 回答
0

'使用 Chrome,惹麻烦' - 匿名。(只是一个象征性的参考)

好吧,Chrome 以许多默认启用安全功能的实用程序而闻名,这就是您的问题所在。

但是,可以通过“设置默认电子邮件客户端”(因为未设置默认电子邮件客户端)或通过在“chrome://settings/handlers”下设置默认处理程序(默认情况下,它设置为“忽视')。

于 2019-08-11T19:55:02.583 回答
-3

你也可以这样使用,

<a href="javascript:void(0);" onclick="javascript:window.location.href='mailto:info@example.com'; return false;">info@example.com</a>

我认为这是解决 chrome 问题的最佳方法。

谢谢..

于 2013-12-13T13:25:29.293 回答
-7

请检查它:

这适用于 chrome 和所有浏览器。

<a href="mailto:test.test@gmail.com">Test</a>

尝试并在伟大的工作。

于 2013-07-18T11:48:46.547 回答