2011-02-16 177 views
10

我正在使用Ruby on Rails 3,并且我想要禁用电子邮件中的HTML电子邮件地址链接。如何禁用电子邮件链接?

例如,如果在一封电子邮件中我把一些原始的HTML像

Hi, you email is: <br/> 
[email protected] 

Gmail的自动检测,这是一个电子邮件地址,并将其更改为

Hi, you email is: <br/> 
<a target="_blank" href="mailto:[email protected]">[email protected]</a> 

我想有这样的输出

# Text without the 'mailto:' link 
Hi, you email is: 
[email protected] 

我该怎么做?

+0

或者可以转换成一些jQuery干预或甚至PHP的图像? – 2011-09-15 13:07:55

回答

2

您可以尝试

Hi, you email is:<br /> 
test&#64email&#46com 
+8

,如果这不起作用 - 请尝试如下:test @ email.com – 2011-02-16 08:09:00

+0

@ xydev..thanks ... – rubyprince 2011-02-24 04:51:20

+0

请勿使用Gmail,因此降低投票率。加文锁解决方案好得多。 – Ulflander 2012-12-03 20:55:59

-3

解决此问题的唯一方法是将电子邮件地址转换为图像并将其包含在电子邮件中。当然这意味着用户可能会选择不下载图片,这意味着他们也不会获得电子邮件地址。

真正归结到的是,一旦收到电子邮件,您无法控制Gmail或任何其他电子邮件客户端的功能,因此没有其他解决方法。这是Gmail或任何其他电子邮件客户端的选择,可以通过电子邮件来满足他们的需求,并且包括超链接的电子邮件地址。

如果你很坚定的关于未转换的电子邮件为超链接,你可以尝试做其他事情隐瞒事实,这是一封电子邮件,就像写出来,而不是:

Hi, your email is: 
test at email dot com 

当然,这可能是更混乱。如果我是你,我只会满足于Gmail将超链接你的电子邮件的事实。

1

即使我有同样的问题。 Gmail会检测并将邮件地址和IP地址转换为链接。我使用string.replace将块中的点(。)和@括起来。这对我来说工作得很好。示例python代码看起来像。

text = [email protected] 
chars = ['.','@'] 
encloseIn = 'span' 

for char in chars: 
    text = string.replace(text, char, '<'+encloseIn+'>'+char+'</'+encloseIn+'>') 
18

我有一个更自然的建议:将电子邮件/网址封装在锚链接超链接中。

<a name="myname">[email protected]</a> 

由于文本已经包含在超链接中,因此Gmail放弃并保持独立。 :)

(注:还曾任职于苹果的邮件客户端)

0

你只需要添加“零宽度空间”的性格,他的HTML代码:

&#8203; 

该代码添加您需要的字符串中的空格。 对于一个令人尊敬的解决方案,您需要使用<nobr>标记来补充此方法,因为使用此标记可以防止突破到下一行。