Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 阻止Gmail为URL和电子邮件地址创建链接_Email_Gmail - Fatal编程技术网

Email 阻止Gmail为URL和电子邮件地址创建链接

Email 阻止Gmail为URL和电子邮件地址创建链接,email,gmail,Email,Gmail,问题是Gmail会自动为所有网站URL和电子邮件地址创建超链接。我不想创建链接 var-mailClient=new-SmtpClient(); var netMail=new MailMessage(); msg=“我不希望www.google.com作为收件人端的链接。”; msg+=“我想要我的电子邮件地址。”myemail@myudomain.com作为没有链接的html”; var cr=新的网络凭证(“网络凭证”)、“网络凭证”; netMail.From=新的邮寄地址(“#####

问题是Gmail会自动为所有网站URL和电子邮件地址创建超链接。我不想创建链接

var-mailClient=new-SmtpClient();
var netMail=new MailMessage();
msg=“我不希望www.google.com作为收件人端的链接。
”; msg+=“我想要我的电子邮件地址。”myemail@myudomain.com作为没有链接的html”; var cr=新的网络凭证(“网络凭证”)、“网络凭证”; netMail.From=新的邮寄地址(“##############”和“######”等); netMail.To.Add(新邮件地址(“abc@xyz.com")); netMail.Subject=“测试邮件”; netMail.IsBodyHtml=true; netMail.Body=msg; mailClient.Host=“xyz.com”; mailClient.Port=25; mailClient.EnableSsl=false; mailClient.Credentials=cr; mailClient.Send(netMail);

任何解决方案?

无法停止创建URL,因为电子邮件提供商会自动检查文本是否为有效URL

克服这一问题的唯一方法是欺骗解析器。只要以解析器无法识别的方式放置空格、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>
结果如下:

http://foolishedsiteparser.com
_http://www.parsersmashed.com
noonesemail@linkdead.com


我有一个相同的问题,并发现如果你使用这样的电子邮件

<a rel="nofollow" style='text-decoration:none; color:#333'>test@mydomain.com</a>
test@mydomain.com
电子邮件提供商不倾向于将电子邮件作为链接


希望这能有所帮助。

我只需添加
链接文本就可以绕过这个问题(注意这里没有
href

除了
style
之外,我还没有尝试过使用属性,但我想您可以。我使用的电子邮件系统(Blackbaud NetCommunity)将去掉一个普通的
标记,因此我必须至少有一个属性

从中得到启示,我实现了用于此目的的以下正则表达式:

var unlink = function (val) {
  return val.replace(/([@\.:])/g, '<span>$1</span>');
};
为此:

john<span>.</span>doe<span>@</span>gmail<span>.</span>com
http<span>:</span>//johndoe<span>.</span>com
约翰。doe@gmail.com http://johndoe.com

请注意,我尝试了一个伪短标签,如公认答案中所示的
,发现GMail“智能地”将其替换为
标签,我认为这是一项功能,但并不可取。在我的测试中,
标记可以防止链接,而不会产生任何视觉副作用。

尽管这是一条老线索,但我想帮助可能会出现这种情况的人。我发现,在链接中添加一个跨距会使google不会将其视为链接,请参见下文:

<a href="https://www.link.dk" style="text-decoration: none   !important; color: #878787 !important;">www.<span></span>link.dk</a>

搞定了

这并不能阻止电子邮件变成链接,但它允许您设置字体颜色并删除该链接的下划线

它适用于我在litmus.com上测试的所有电子邮件客户端,包括Outlook 2010、2013、2016(也在Windows上)、Outlook.com、iPhone 6s、iPad、gmail web界面和Apple Mail 8、9

变更1: 单击时不会做出反应的链接

<a href="#" style="text-decoration:none; color:#000">bjorn@rosell.dk</a>

变式2: 邮件链接。几乎适用于所有客户。然而,Outlook.com确实将其设置为蓝色,并带有下划线

<a href="mailto:bjorn@rosell.dk" style="text-decoration:none; color:#000">bjorn@rosell.dk</a>


对于文本电子邮件,我有一个未提及的解决方案:使用类似的unicode字符。例如,一个点引线(U+2024)代替点。比较一下,Běhej.com和Běhej․com的外观(第一个是普通点)。

因为现在用
简单包装不起作用,我建议用它的html实体替换
@

function disable_email_link($email) {
  //encoder https://mothereff.in/html-entities
  $email = str_replace('@', '&#x40;', $email);
  $email = str_replace('.', '<span>.</span>', $email);
  return $email;
}

这里列出的所有解决方案似乎都不再有效。我尝试了一些不可打印的Unicode字符的想法,发现这个序列是可行的:

<span>foo&zwnj;.&zwnj;bar&zwnj;.&zwnj;com</span>
foo&zwnj&zwnj;bar&zwnj&zwnj;通用域名格式

在哪里‌ 是零宽度非连接字符。

我的确认消息标题中有一个.com。 受@peribrain的启发,我像这样旋转我的问题

domain.com => domain<span>.</span>
domain.com=>domain。
php

$titre=str_替换(“.”,“,$titre”);

简单

假设您的显示url为“abcdUrl.com” 要防止gmail显示为链接,请将其包装在锚定标签中


这在gmail中运行得很好。

我也遇到了同样的问题,所以几分钟后就找到了解决方法

问题是,如果你直接以元素为目标,它将无法工作,因为gmail会自动在其中添加aa“a”标记,所以你必须更进一步,为该“a”标记声明一个类。在我的情况下,电子邮件是在一个“”标签,我发现它更容易处理。我所做的就是创建一个这样的类:

.email_contact a {color:#ffffff!important; text-decoration: none!important;}

我的代码中没有“a”标记,但既然gmail会自动添加它,那么你应该在那里找到它。现在,您只需在您添加电子邮件的地方使用该类,例如“span”或“div”和boom!固定。

虽然不是理想的解决方案,但它可能是一些人的选择。从2020年3月12日起,如果您禁用多部分并仅发送
纯文本
电子邮件,您将获得以下超链接结果。无论是在新行/句子的开头还是在句子的中间,结果都是一样的


这是一个很好的解决方案,适用于Gmail、Outlook和其他应用程序。但不能使用Apple Mail.app。@Psimekjr我遇到了与Apple Mail相同的问题。您必须在实际文档中包含href属性(即使其值为#)Clean solution:D@BogdanM。这并没有说明任何有关链接的信息emails@ShioT它实际上非常清楚地说明了属性如何决定chrome产品中的链接行为——GMAILincluded。它不起作用。Gmail用automatically@periobrain替换了标签,但不确定为什么会接受,但下面的答案在语义上更有意义,因此更可能在其他领域标准化/工作clients@AndreyFedorov是的,你总能看到答案发布的日期和被接受的日期:)所以可能在那个时候,工作正常,但邮件现在变成了垃圾邮件@bmoeskauSpam过滤是一个l
domain.com => domain<span>.</span>
$titre = str_replace(".", "<span>.</span>", $titre);
.email_contact a {color:#ffffff!important; text-decoration: none!important;}