Prevent Gmail from creating links for URLs and email addresses

EmailGmail

Email Problem Overview


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 [email protected] as html without a link";

var cr = new NetworkCredential("########", "###########");

netMail.From = new MailAddress("########@m####.###", "######");
netMail.To.Add(new MailAddress("[email protected]"));
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?

Email Solutions


Solution 1 - Email

I had a same issue and found out if you use email like this;

<a rel="nofollow" style='text-decoration:none; color:#333'>[email protected]</a>

email providers does not tend to follow email as a link.

Hope this helps.

Solution 2 - Email

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.

Solution 3 - Email

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

Solution 4 - Email

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.

Solution 5 - Email

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">[email protected]</a>

Variation 2: A mailto-link. Works in almost all clients. Outlook.com does however style it blue and with underline.

<a href="mailto:[email protected]" style="text-decoration:none; color:#000">[email protected]</a>

Solution 6 - Email

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&zwnj;.&zwnj;bar&zwnj;.&zwnj;com</span>

Where ‌ is the ZERO WIDTH NON-JOINER character.

Solution 7 - Email

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).

Solution 8 - Email

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 !

Solution 9 - Email

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('@', '&#x40;', $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);
}

Solution 10 - Email

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>

Solution 11 - Email

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.

Solution 12 - Email

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.

gmail results for linked email or url via plain text

Solution 13 - Email

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionManjoorView Question on Stackoverflow
Solution 1 - EmailTeoman shipahiView Answer on Stackoverflow
Solution 2 - EmailLoko Web DesignView Answer on Stackoverflow
Solution 3 - EmailperilbrainView Answer on Stackoverflow
Solution 4 - EmailBrian MoeskauView Answer on Stackoverflow
Solution 5 - Emailrosell.dkView Answer on Stackoverflow
Solution 6 - EmailTomekView Answer on Stackoverflow
Solution 7 - EmailPetr DlouhýView Answer on Stackoverflow
Solution 8 - EmailAndreView Answer on Stackoverflow
Solution 9 - EmailLukas PierceView Answer on Stackoverflow
Solution 10 - EmailAnoxyView Answer on Stackoverflow
Solution 11 - Emailuser7988093View Answer on Stackoverflow
Solution 12 - EmailjohnsampsonView Answer on Stackoverflow
Solution 13 - EmailTapas KumarView Answer on Stackoverflow