我正在使用Ruby on Rails 3,我想在 HTML 电子邮件中禁用电子邮件地址链接。
例如,如果在电子邮件中我发送了一些原始HTML,如
Hi, you email is: <br/>
test@email.com
Gmail会自动检测这是一个电子邮件地址并将其更改为
Hi, you email is: <br/>
<a target="_blank" href="mailto:test@email.com">test@email.com</a>
我想有这个输出
# Text without the 'mailto:' link
Hi, you email is:
test@email.com
我该怎么做?
答案 0 :(得分:22)
我有一个更自然的建议:将电子邮件/网址包装在锚点超链接中。
<a name="myname">test@email.com</a>
由于文字已经包含在超链接中,因此Gmail会放弃并放弃它。 :)
(注意:也适用于Apple邮件客户端。)
答案 1 :(得分:2)
你可以尝试
Hi, you email is:<br />
test@email.com
答案 2 :(得分:2)
即使我遇到同样的问题。 Gmail会检测邮件地址和IP地址并将其转换为链接。我使用string.replace将点(。)和@包含在块中。这对我来说很好。示例python代码看起来像。
text = myname@gmail.com
chars = ['.','@']
encloseIn = 'span'
for char in chars:
text = string.replace(text, char, '<'+encloseIn+'>'+char+'</'+encloseIn+'>')
答案 3 :(得分:0)
你只需要添加&#34;零宽度空间&#34;字符,他在HTML中的代码是:
​
此代码在字符串中添加您需要的空格。
对于一个值得尊敬的解决方案,您需要使用<nobr>
标记来补充此方法,因为使用此标记可以防止突破到下一行。
答案 4 :(得分:0)
最新答复,但我想我已经找到一种解决此自动链接问题的方法。
最简单,最快的方法是在每个字母之间添加零宽度的非连接符。现在听起来很困难,所以我开发了一个小脚本,使我很轻松。运行下面的代码,添加电子邮件地址(粘贴或键入),然后在电子邮件地址周围添加所需的代码。
$('#userInput').keyup(function() {
var s = $(this).val().trim();
var text = "";
for ( var i = 0; i < s.length; i++ )
{
text += s[i]+'‌' ;
}
$('p').text( text );
});
#userInput{max-width:400px;width:100%;padding:10px 5px;}
*{outline:none;}
p,#userInput{font-family: 'Roboto', sans-serif;}
p{word-break:break-all;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<input type="text" id="userInput" />
<p></p>
现在此代码在Outlook Mac(2011和2016)上不起作用。我也要在这些文件上使用的唯一方法是将其添加到文档的开头并附加HTML
行进中
<meta content="telephone=no" name="format-detection">
<style>
p.email a{color:#000000!important;text-decoration:none!important;}
</style>
将段落,td或表更改为email
(或您选择的任何内容)
<p class="email"> contents </p>
希望这有助于用户寻找删除自动链接的解决方案。
答案 5 :(得分:0)
阅读所有答案,我在Joomla文章中尝试了此方法,并且有效:
<p><strong>This is the email address: </strong><a name="whatever">youremail@domain.com</a></p>
结果:
这是电子邮件地址: youremail@domain.com
使用Chrome和Firefox。
答案 6 :(得分:0)
到 2021 年,对我来说最好的情况是:
<a href='#' style='text-decoration: none; color:#000000' name='myname'>x@somemail.com</a>
说明。
尝试了 Gmail、Outlook 365、Mailinator 和 MyTrashMail 等不同服务后,结果是:
• <a>
将电子邮件包装成锚点是必不可少的,因为 raugfer pointed
• href='#'
是 Outlook 所必需的。链接到假锚会禁用跳跃。
• text-decoration: none, color:#000000
删除下划线并将颜色从蓝色链接颜色更改为自然文本颜色。对于那些不仅要禁用链接,还要使其显示为普通文本的人。
• name='myname'
不应该破坏,但是,我没有注意到它的必要性。
应该避免使用任何 javascript,它不会通过 gmail。例如。 、onClick="return false;"
。<script>...</script>
如果您想将光标更改为默认值,cursor: default
或 cursor: auto
将无济于事。仅适用于 Gmail,不要使用 href='#'
如 Prince Mishra 所述,使用 <span>
或 <myspan>
适用于 Gmail,但它不适用于所有服务 (Outlook)。
答案 7 :(得分:-3)
解决此问题的唯一方法是将电子邮件地址转换为图片并将其包含在电子邮件中。当然这意味着用户可能会选择不下载图片,这意味着他们也不会获得电子邮件地址。
真正归结为您无法控制Gmail或任何其他电子邮件客户端收到电子邮件后所执行的操作,因此没有其他办法解决此问题。这是Gmail或任何其他电子邮件客户端的选择,可以通过电子邮件执行他们想要的操作,其中包括超链接电子邮件地址。
如果您非常坚持不将电子邮件转换为超链接,您可以尝试做其他事情来隐瞒这是一封电子邮件的事实,比如写出来:
Hi, your email is:
test at email dot com
当然这可能更令人困惑。如果我是你,我会满足于Gmail将超链接你的电子邮件。