问题是Gmail会自动为所有网站网址和电子邮件地址创建超链接。我不想创建链接。
var mailClient = new SmtpClient();
var netMail = new MailMessage();
msg = "I do not want www.google.com as a link at recipient end. <br/>";
msg += "I want my email addrress myemail@myudomain.com as html without a link";
var cr = new NetworkCredential("########", "###########");
netMail.From = new MailAddress("########@m####.###", "######");
netMail.To.Add(new MailAddress("abc@xyz.com"));
netMail.Subject = "Test Mail";
netMail.IsBodyHtml = true;
netMail.Body = msg;
mailClient.Host = "xyz.com";
mailClient.Port = 25;
mailClient.EnableSsl = false;
mailClient.Credentials = cr;
mailClient.Send(netMail);
任何解决方案?
答案 0 :(得分:29)
我只需添加<a style="color: #000000">link text</a>
(注意没有href
)就可以解决这个问题。
我没有尝试使用除style
之外的属性,但我想你可以。我使用的电子邮件系统(Blackbaud NetCommunity)将删除一个简单的<a>
标记,因此我必须至少有一个属性。
答案 1 :(得分:24)
我遇到了同样的问题,并发现你是否使用这样的电子邮件;
<a rel="nofollow" style='text-decoration:none; color:#333'>test@mydomain.com</a>
电子邮件提供商不会将电子邮件视为链接。
希望这有帮助。
答案 2 :(得分:22)
无法停止创建网址,因为电子邮件提供商会自动检查该网址是否为有效网址。
只有这样才能克服这个问题,欺骗解析器。只需放置空格,HTML标签,以及解析器无法识别URL等的方式。
以下是一些代码示例:
http:<span>//foolishedsiteparser.com</span>
_http://www.parsersmashed.com
noonesemail<x>@</x>linkdead.com>
结果如下:
http://foolishedsiteparser.com
_http://www.parsersmashed.com
noonesemail@linkdead.com
答案 3 :(得分:8)
从perilbrain's answer获取提示,我实现了以下用于此的正则表达式:
var unlink = function (val) {
return val.replace(/([@\.:])/g, '<span>$1</span>');
};
请注意,此函数会在传入的内容中全局替换 - 对于自然文本块可能过于激进,如OP示例中所示,但通常模板已参数化,这在您可以正常使用时效果很好传递一个网址或电子邮件(我实际上将其作为模板帮助函数实现,以便它完全相同)。
该函数转换以下输入:
john.doe@gmail.com
http://johndoe.com
进入这个:
john<span>.</span>doe<span>@</span>gmail<span>.</span>com
http<span>:</span>//johndoe<span>.</span>com
请注意,我尝试了一个假的短标签,如<x>
,如接受的答案所示,并发现GMail&#34;智能地&#34;用<u>
标签替换它,我认为这是一个功能,但不可取。在我的测试中,<span>
标记会阻止链接而不会产生视觉副作用。
答案 4 :(得分:6)
Nailed it!
这不会阻止电子邮件变成链接,但它允许您设置字体颜色并删除该链接的下划线。
适用于我在litmus.com上测试过的所有电子邮件客户端 - 包括Outlook 2010,2013,2016(也在Windows上),Outlook.com,iPhone 6s,iPad,gmail网页界面和Apple Mail 8,9
变奏1: 点击时没有反应的链接
<a href="#" style="text-decoration:none; color:#000">bjorn@rosell.dk</a>
变体2: mailto-link。适用于几乎所有客户。然而,Outlook.com将其设置为蓝色并带下划线。
<a href="mailto:bjorn@rosell.dk" style="text-decoration:none; color:#000">bjorn@rosell.dk</a>
答案 5 :(得分:4)
我有一个未提及的文本电子邮件解决方案:使用类似的unicode字符。例如,一个点引导(U + 2024)而不是点。比较一下,看看Běhej.com和Běhej.com(第一个是常规点)。
答案 6 :(得分:1)
现在<span>
的简单包装不起作用,我建议用其html-entity替换<{1}}替换
@
此外,如果您的电子邮件包含电话号码,您可以通过function disable_email_link($email) {
//encoder https://mothereff.in/html-entities
$email = str_replace('@', '@', $email);
$email = str_replace('.', '<span>.</span>', $email);
return $email;
}
功能转发它:
disable_tel_link
答案 7 :(得分:1)
此处列出的解决方案似乎都无法正常工作。我对不可打印的Unicode字符的想法进行了一些试验,发现此序列有效:
<span>foo‌.‌bar‌.‌com</span>
其中the是零宽度非JOINER字符。
答案 8 :(得分:0)
尽管这是一个旧帖子,我想帮助那些可能来到这里的人。我发现在链接中添加一个跨度会让谷歌看不到它作为一个链接,见下文:
<a href="https://www.link.dk" style="text-decoration: none !important; color: #878787 !important;">www.<span></span>link.dk</a>
答案 9 :(得分:0)
我的确认消息标题中有一个点号com。 受@perilbrain的启发,我解决了这样的问题
domain.com => domain<span>.</span>
php
$titre = str_replace(".", "<span>.</span>", $titre);
简单!
答案 10 :(得分:0)
假设您的显示网址是“ abcdUrl.com” 为防止gmail显示为链接,请将其包装在锚定标记中
<a href="" style="text-decoration:none;color:#333;">
abcdUrl.com
</a>
这在gmail中效果很好。
答案 11 :(得分:0)
我遇到了同样的问题,所以几分钟后,我发现了解决方法。
问题是,如果直接定位该元素将无法正常工作,因为gmail会在其中自动添加一个“ a”标签,因此您必须再走一步,为该“ a”标签声明一个类。就我而言,该电子邮件位于“”标签中,我发现它更易于使用。所以我要做的是创建一个像这样的类:
.email_contact a {color:#ffffff!important; text-decoration: none!important;}
我的代码中没有“ a”标签,但是由于gmail会自动添加它,因此您应该在该标签中找到它。现在,您只需要在将电子邮件添加到任何地方(例如“ span”或“ div”)和繁荣的地方使用该类!固定。
答案 12 :(得分:0)