【问题标题】:Prevent url's from appearing as links in mail clients防止 url 在邮件客户端中显示为链接
【发布时间】:2011-11-29 08:46:36
【问题描述】:

我正在从我的应用程序发送 HTML 邮件,该邮件包含 URL,有没有办法阻止邮件客户端将这些 URL 显示为链接?

例如:

<table>
<tbody>
<tr>
<td>http://www.google.com</td>
</tr>
</tbody>
</table>

将生成“http://www.google.com

我希望它生成一个静态文本。

有什么想法吗?

【问题讨论】:

  • 不,这是接收邮件客户端的 UI 功能,旨在让用户的生活更轻松(并减少选择文本、复制文本和粘贴文本到地址栏中的数量) )。据我所知,你对此无能为力。我赞同@Kimvais 关于为什么你想让你的电子邮件收件人的生活更麻烦的评论......
  • 有充分的理由想要阻止电子邮件客户端自动生成链接。邮件客户端的用户体验并非万无一失。有时在一封电子邮件中包含多个链接是没有意义的,如果客户端自动将每个看起来像 URL 的字符串转换为一个链接,那么您可能会收到一封针对最终用户优化程度较低的电子邮件(即,它太忙太吵了)而不是更多。
  • Phooey。向我网站的用户发送一个特殊的促销链接,链接对每个用户都是唯一的,我在电子邮件中提到网站的名称(mysite.com),然后在电子邮件中稍后是他们的特殊链接。后来我收到了几个帮助请求,他们的促销无效,因为他们错误地点击了主页链接。完全合法的用例。
  • 在我们的例子中,我们在电子邮件中有一个类似于“asdf:sqlserver:dbtier.machine.client.com”的数据库实例名称,其中“dbtier.machine.client.com”不是t 真的是一个 URL,但在电话电子邮件中,它出现了一个可点击的链接,该链接指向 silverjewelry(dot)com,因为显然那是 client(dot)com 的去向。我们只想显示没有链接的文本。
  • 网络钓鱼和客户端颜色选择是我想要取消链接的两个主要原因:)

标签: html email


【解决方案1】:

我想说这在很大程度上取决于邮件客户端,因此超出了您的控制范围。唯一的选择是不将其设为 URL。例如。写 www.google.com(用户可以像 URL 一样复制/粘贴。

【讨论】:

    【解决方案2】:

    这是一些邮件客户端的一个功能,没有万无一失的方法可以阻止他们对邮件内容做任何他们想做的事情。

    您可以尝试通过将地址包装在空标签中来欺骗邮件客户端,并希望他们不够聪明,无法看穿它:

    <td><span>http</span><span>://</span>www.<span>google.</span>com</td>
    

    【讨论】:

    • 我也在考虑做类似的事情:&lt;td&gt;&lt;a href='#' style="text_tecoration:none; color:#000; cursor:defualt"&gt;http://www.google.com&lt;/a&gt;&lt;/td&gt; 你觉得呢?
    • 我确信想要这样做是有正当理由的,而且我认为在这一点上已经很清楚,在一般情况下这不是一件明智的事情。
    • 如果您想通过电子邮件向用户发送不在其计算机上的文件的位置,例如 //blah/blah/blah/blah.doc 您不希望将其作为链接,只需作为目录的表示。
    • @Kimvais 我们公司的名称中有一个点,聪明的电子邮件客户需要将其更改为每次在电子邮件中提到它的链接。我称这非常愚蠢。
    • 幸运的是,我们还拥有该域,因此自动生成的链接是有效的。我还看到一些产品名称有点不同(例如 Zboží.cz 作为产品名称与 zbozi.cz 作为 URL)
    【解决方案3】:

    我没有任何运气阻止 MacMail 和 Yahoo Mail 从任何以 .com(或其他域扩展名)结尾的文本字符串创建链接。经过数小时的测试(甚至 'href=""' 和 'href="#"' 都不起作用),我终于插入了自己的 URL,然后操纵 CSS 和内联样式来删除邮件客户端的链接样式。

    【讨论】:

      【解决方案4】:

      使用“零宽度空格”字符:&amp;#8203;

      顾名思义。它在您的字符串中添加了一个空格,但该空格的宽度为零,因此看起来不像是两个字符串,而是一个。

      【讨论】:

      • 适用于 iOS,谢谢!请记住将 URL 包装在 标记中,以防止它在行尾中断到下一行。
      • 嗯?你为什么想这么做!!如果您复制带有您选择的垃圾字符的电子邮件地址...
      • 好主意,但不适用于 Outlook 365 桌面客户端:(
      【解决方案5】:

      我发现接受的答案不适用于 Outlook 2013。我在以下方面取得了成功:

      http<a href='#' style='text-decoration:none; color:#000;'>://www.google.</a>com
      

      Outlook 2013 不支持设置样式cursor:default,但如果您只将 url 的中间设置为超链接,那么用户仍然可以选择链接文本而不会出现光标。

      【讨论】:

        【解决方案6】:

        根据Litmus's 测试(Apple Mail 桌面看起来像是主要的例外),在几乎所有客户端(包括桌面 Outlook)中,在正确的位置添加隐藏的换行元素似乎已经解决了这个问题(目前)。

        https:<br style="display: none;"/>//www.w3<br style="display: none;"/>.org/TR/2020/WD-WCAG22-20200227/
        

        【讨论】:

          猜你喜欢
          • 2011-09-26
          • 1970-01-01
          • 2016-07-10
          • 1970-01-01
          • 2013-02-24
          • 1970-01-01
          • 1970-01-01
          • 2013-01-04
          • 2015-10-28
          相关资源
          最近更新 更多