0

我通过 Amazon SES 发送 HTML 电子邮件。

这是一个示例电子邮件 -

嘿,约翰,

山姆大叔刚刚申请了这份工作,需要有人在您在 JobHouse 上发布的 craigs list.com上发帖。

干杯。

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

4

3 回答 3

1

服务器端解决方案:

用零宽度空格字符包围所有(".") 和at 符号("@") 。

示例(PHP):

$email = 'name@server.com';
$email = str_replace (
                        array('@', '.'),
                        array('​@​', '​.​'),
                        $email
);

或者,您可以使用单位分隔符 ( ) 或记录分隔符 ( ),而不是上面的零宽度空格字符 ( ​)。

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

注意.:用它们的 html 代码( &分别)替换点和 at 符号@并不能解决问题。Gmail 的算法仍将字符串解释为地址。

于 2014-07-24T04:22:17.660 回答
0

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

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

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

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

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

除了这样做之外,您无法控制客户端应用程序如何呈现您的文本。

于 2012-07-23T09:33:37.233 回答
0

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

虽然我不是 100% 确定它是否可以在 GMail 中工作,因为我目前没有什么可以测试的。

于 2012-07-23T09:34:55.637 回答