在mailto链接上使用Chrome的“复制电子邮件地址”会返回编码的无用文本,而不是正确的电子邮件地址

时间:2018-02-20 15:03:18

标签: php google-chrome mailto

我们有一个网站,限制访问(仅限独家会员)以PHP编码。

联系页面上,我们有一堆mailto个链接,例如:

<a href="mailto:Name SURNAME <address@domain.com>">address@domain.com</a>

如果访问者点击其中一个链接,则会执行常规操作(在Thunderbird中打开一封新邮件,并在“收件人:”字段中正确填写)。

问题是当访问者在其中一个链接上右键单击时,选择“复制电子邮件地址”,然后将其粘贴到“收件人:”字段或任何位置(甚至在文件中),在这种情况下,结果将是:

  

Name%20SURNAME%20%3Caddress@domain.com%3E

而不是

  

姓名SURNAME&lt; address@domain.com>

我一直在寻找解决方案几个小时,并且已经尝试了rawurlencode(), urlencode()和其他可能的技巧,绝对没有效果。

你们有些人可以帮助我吗?

以下是生成链接的PHP代码:

<?php  echo '<a href="mailto:'.$name.' <'.$email.'>'.'">'.$email.'</a>'; ?>
//where $email is a valid email address
//and $name is plain text (usually two words with a space character between)

2 个答案:

答案 0 :(得分:0)

我相信你试图做一些根本无法做到的事情。 我理解这个想法,但......这不是一件事。

我发现没有文档说您可以在&lt;&gt;中输入姓名并附上电子邮件地址。

  1. https://developer.mozilla.org/.../a#Creating_an_email_link
  2. https://developer.mozilla.org/.../Creating_hyperlinks#E-mail_links
  3. IETF RFC6068
  4. 你当然可以这样做:

    <a href="mailto:address@domain.com">address@domain.com</a>
    

答案 1 :(得分:-2)

我发现了这个:https://stackoverflow.com/a/25854290/3376036

它似乎实际上不受支持,但它通常有效