Подтвердить что ты не робот

Запретить Gmail создавать ссылки для URL-адресов и адресов электронной почты

Проблема в том, что Gmail автоматически создает гиперссылки для всех URL-адресов веб-сайтов и адресов электронной почты. Я не хочу создавать ссылку.

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

Любое решение?

4b9b3361

Ответ 1

Невозможно остановить создание URL-адресов, потому что он автоматически проверяет поставщиком электронной почты, что текст является допустимым URL.

Единственный способ преодолеть это - обмануть парсер. просто помещайте пробелы, теги Html, независимо от того, как синтаксический анализатор не может идентифицировать себя (Banging SO:)): -
 http://foolishedsiteparser.com
 _http://www.parsersmashed.com
[email protected]
и многие другие способы...;)

[Скомпилировано из: -

 http:<span>//foolishedsiteparser.com</span> <br/>
 _http://www.parsersmashed.com <br/>
noonesemail<x>@</x>linkdead.com <br/>

]

Ответ 2

Мне удалось обойти эту проблему, просто добавив <a style="color: #000000">link text</a> (обратите внимание, что нет href).

Я не пробовал использовать атрибуты помимо style, но я мог бы предположить, что вы могли бы. Система электронной почты, которую я использую (Blackbaud NetCommunity), вычеркнет простой тег <a>, поэтому мне пришлось иметь хотя бы один атрибут.

Ответ 3

У меня была такая же проблема и выяснили, используете ли вы такую ​​электронную почту:

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

Поставщики электронной почты не склонны следовать электронной почте в качестве ссылки.

Надеюсь, что это поможет.

Ответ 4

Взяв реплику из ответа perilbrain, я применил следующее regex, которое я использую для этого:

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

Обратите внимание, что эта функция заменяет глобально на все, что передается, - это, вероятно, будет слишком агрессивным для блоков естественного текста, как в примере OP, но часто шаблоны параметризуются, и это отлично работает, когда вы можете просто передать ему URL-адрес или электронной почты (я фактически реализовал его как вспомогательную функцию шаблона, чтобы он выполнял именно это).

Функция преобразует следующие входы:

[email protected]
http://johndoe.com

в это:

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

Обратите внимание, что я попробовал фальшивый короткий тег, например <x>, как показано в принятом ответе, и обнаружил, что GMail "разумно" заменил его тегами <u>, который, как я полагаю, является функцией, но нежелателен. В моем тестировании теги <span> предотвращают связывание без видимых побочных эффектов.

Ответ 5

Гвоздь!

Это не предотвращает превращение электронных писем в ссылки, но позволяет вам установить цвет шрифта и удалить подчеркивание этой ссылки.

Он работает во всех почтовых клиентах, на которых я тестировал на 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">[email protected]</a>

Вариант 2: Электронная почта. Работает в почти всех клиентах. Outlook.com, однако, стиль его синий и с подчеркиванием.

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

Ответ 6

У меня есть одно нерешенное решение для текстовых писем: используйте похожие символы юникода. Например, одноточечный лидер (U + 2024) вместо точки. Сравните, как выглядит Běhej.com и Běhej.com(первый из них с обычной точкой).

Ответ 7

Пока простая обработка <span> не работает, я предлагаю заменить @ на ее альтернативу html-entity

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

Кроме того, если ваше письмо содержит номера телефонов, вы можете избежать его функцией disable_tel_link:

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

Хотя это старый поток, я хочу помочь людям, которые могут сюда попасть. Я обнаружил, что добавление интервала внутри ссылки делает google не видя его ссылкой, как показано ниже:

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

Ответ 9

Кажется, что ни одно из решений, перечисленных здесь, больше не работает. Я немного поэкспериментировал с идеей непечатаемых символов Юникода и нашел, что эта последовательность работает:

<span>foo&zwnj;.&zwnj;bar&zwnj;.&zwnj;com</span>

Где ‌ - НУЖНЫЙ ШИФЕР.

Ответ 10

У меня был точка com в заголовке моего подтверждающего сообщения. Вдохновленный @perilbrain, я решил эту проблему следующим образом

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

PHP

$titre = str_replace(".", "<span>.</span>", $titre);

просто !

Ответ 11

Предположим, что ваш отображаемый URL-адрес "abcdUrl.com" Чтобы не показывать Gmail в виде ссылки, оберните его в тег привязки

<a href="" style="text-decoration:none;color:#333;"> abcdUrl.com </a>

Это хорошо работает в Gmail.

Ответ 12

У меня была такая же проблема, поэтому через несколько минут я узнал, как ее исправить.

дело в том, что если вы нацеливаетесь на элемент напрямую, он не будет работать, потому что gmail автоматически добавит туда тег "a", поэтому вам нужно сделать еще один шаг дальше и объявить класс для этого тега "a". в моем случае электронная почта была в теге "", с которым мне было легче работать. так что я сделал создать такой класс:

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

в моем коде нет тега "a", но, поскольку gmail добавит его автоматически, вы должны поймать его там. теперь вам просто нужно использовать этот класс, где бы вы ни добавляли свою электронную почту, такую как "span" или "div" и boom! фиксированный.