如何阻止Gmail添加锚标记

时间:2012-07-23 09:26:25

标签: html gmail

我通过亚马逊SES发送HTML电子邮件。

以下是电子邮件示例 -

  

嘿John doe,

     

山姆大叔刚申请工作需要有人发帖   craigs list.com 你在JobHouse上发布。

     

干杯。

现在,Gmail(可能还有其他电子邮件客户端)会向list.com添加超链接。如何防止这种情况?

3 个答案:

答案 0 :(得分:0)

根据我的理解,当您发送电子邮件时,如果您没有在HTML内容中创建超链接,那么您无法控制客户端如何呈现内容。如果有人使用Gmail,Outlook,Mail等查看该电子邮件,并且他们发现他们确定为“模式”,则客户端应用程序将替换这些值。

  • 您可以做的一件事是生成域名的图像 并引用它来完全控制它的渲染方式。

参见:http://php.net/manual/en/function.imagettftext.php

例如,您可以创建一个简单的PHP脚本,并将Web地址作为URL参数传递,并返回带有该URL的图像。然后,您可以更改HTML代码:

<img src="domain.com/path/to/your/text.php?text=craigslist.com" />

除了执行此类操作之外,您无法控制客户端应用程序呈现文本的方式。

答案 1 :(得分:0)

理论上,您可以在电子邮件生成中使用<text>yoururl.com</text>

虽然我不是百分之百的,如果它可以在GMail中工作,因为我目前无需测试。

答案 2 :(得分:0)

服务器端解决方案:

零宽度空格字符围绕所有(“。”)和 at-signs (“@”)。

示例(PHP):

$email = 'name@server.com';
$email = str_replace (
                        array('@', '.'),
                        array('&#8203;@&#8203;', '&#8203;.&#8203;'),
                        $email
);

或者,您可以使用单位分隔符(&#31;)或记录分隔符(&#30;),而不是上面的零宽度空格字符(&#8203;)。 / p>

从视觉上看,电子邮件/网站地址似乎正常,就像替换之前一样。

注意:替换点和&amp;带有html代码(分别为&#46;&amp; &#64;)的at-signs无法解决问题。 Gmail的算法仍将字符串解释为地址。