可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
Problem is Gmail automatically creates hyperlinks for all website URLs and email addresses. I do not want to create a link.
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);
Any solution?
回答1:
There's no way to stop creating URLs, because its automatically checked by the email provider that whether the text is a valid URL.
Only way to overcome this is, deceiving the parser. Just put spaces, HTML tags, whatever in such a way that the parser can't identify like URL etc.
Here are a few code examples:
http:<span>//foolishedsiteparser.com</span>
_http://www.parsersmashed.com
noonesemail<x>@</x>linkdead.com>
And the result is the following:
http://foolishedsiteparser.com
_http://www.parsersmashed.com
noonesemail@linkdead.com
回答2:
I had a same issue and found out if you use email like this;
<a rel="nofollow" style='text-decoration:none; color:#333'>test@mydomain.com</a>
email providers does not tend to follow email as a link.
Hope this helps.
回答3:
I was able to get around this issue just by adding <a style="color: #000000">link text</a>
(notice there is no href
).
I haven't tried using attributes besides style
but I would imagine you could. The email system that I use (Blackbaud NetCommunity) will strip out a plain <a>
tag, so I had to have at least one attribute.
回答4:
Taking a cue from perilbrain's answer, I implemented the following regex that I use for this:
var unlink = function (val) {
return val.replace(/([@\.:])/g, '<span>$1</span>');
};
Note that this function replaces globally on whatever is passed in -- it would probably be too aggressive for blocks of natural text as in the OP's example, but often templates are parameterized and this works great when you can just pass it a url or email (I actually implemented it as a template helper function so that it does exactly that).
The function converts the following inputs:
john.doe@gmail.com
http://johndoe.com
into this:
john<span>.</span>doe<span>@</span>gmail<span>.</span>com
http<span>:</span>//johndoe<span>.</span>com
Note that I tried a fake short tag like <x>
as shown in the accepted answer and found that GMail "intelligently" replaced it with <u>
tags, which I assume is a feature, but was not desirable. In my testing, <span>
tags prevent linking with no visual side-effects.
回答5:
Nailed it!
This does not prevent emails from being turned into links, but it allows you to set the font color and remove the underline of that link.
It works in all email clients I tested in on litmus.com - including Outlook 2010, 2013, 2016 (also on Windows), Outlook.com, iPhone 6s, iPad, gmail web interface and Apple Mail 8, 9
Variation 1:
A link which does not react when clicked upon
<a href="#" style="text-decoration:none; color:#000">bjorn@rosell.dk</a>
Variation 2:
A mailto-link. Works in almost all clients. Outlook.com does however style it blue and with underline.
<a href="mailto:bjorn@rosell.dk" style="text-decoration:none; color:#000">bjorn@rosell.dk</a>
回答6:
I have one unmentioned solution for textual emails: Use similar unicode characters. For example one dot leader (U+2024) instead of dot. Compare, how looks Běhej.com and Běhej․com (the first one is with regular dot).
回答7:
For now simple wrapping by <span>
is not working, I suggest replace @
by its html-entity alternative
function disable_email_link($email) {
//encoder https://mothereff.in/html-entities
$email = str_replace('@', '@', $email);
$email = str_replace('.', '<span>.</span>', $email);
return $email;
}
Also if your email contains phone numbers you can escape it by disable_tel_link
function:
function wrap_span_letters($string) {
$res = "";
$length = strlen($string);
for ($i = 0; $i < $length; $i++) {
$res .= "<span>$string[$i]</span>";
}
return $res;
}
function disable_tel_link($phone) {
return wrap_span_letters($phone);
}
回答8:
None of the solutions listed here seem to work any more. I experimented a little with the idea of non-printable Unicode characters and found this sequence to work:
<span>foo‌.‌bar‌.‌com</span>
Where is the ZERO WIDTH NON-JOINER character.
回答9:
I had a dot com in the title of my confirmation message.
Inspired by @perilbrain, I revolved my problem like this
domain.com => domain<span>.</span>
php
$titre = str_replace(".", "<span>.</span>", $titre);
simple !
回答10:
Eventhough this is a old thread i want to help people who might get here. I found that adding a span inside the link makes google not see it as a link see below:
<a href="https://www.link.dk" style="text-decoration: none !important; color: #878787 !important;">www.<span></span>link.dk</a>
回答11:
Suppose your display url is "abcdUrl.com"
To prevent gmail from showing as a link, wrap it in an anchor tag
<a href="" style="text-decoration:none;color:#333;">
abcdUrl.com
</a>
This works well in gmail.
回答12:
i had the same problem so after few mins found out how to fix it.
the thing is if you target the element directly it won't work because gmail will automatically add aa "a" tag in there so you have to go one step farther and declare a class for that "a" tag. in my case the email was in a "" tag which i found it easier to work with. so what i did was create a class like this:
.email_contact a {color:#ffffff!important; text-decoration: none!important;}
there is no "a" tag in my code but since gmail will add it automatically then you should catch it there. now you just have to use that class where ever you put your email add such as "span" or "div" and boom! fixed.
回答13:
While not the ideal solution, it may be an option for some. As of 3/12/2020, If you disable Multipart and send plain text only
emails, you'll get the following hyperlinked results. Results appear to be the same whether at the beginning of a new line/sentence or mid sentence.