it-swarm.com.de

Verhindern, dass Google Mail Links für URLs und E-Mail-Adressen erstellt

Problem ist, dass Google Mail automatisch einen Hyperlink für alle Website-URLs und E-Mail-Adressen erstellt. Ich möchte keinen Link erstellen. Meine 

SmtpClient MailClient = new SmtpClient();
MailMessage 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";
NetworkCredential 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);

Irgendeine Lösungsmöglichkeit?

32
Manjoor

Es gibt keine Möglichkeit, die Erstellung von URLs zu beenden, da der E-Mail-Anbieter automatisch überprüft, ob der Text eine gültige URL ist.

Der einzige Weg, dies zu überwinden, besteht darin, den Parser zu täuschen. Setzen Sie einfach Leerzeichen, HTML-Tags, was auch immer so ist, dass der Parser sich nicht identifizieren kann (Banging SO :)): - 
http://foolishedsiteparser.com 
_http: //www.parsersmashed.com 
[email protected] 
und viele andere Möglichkeiten ...;)

[Zusammengestellt von: -

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

]

22
perilbrain

Ich konnte dieses Problem umgehen, indem ich <a style="color: #000000">link text</a> hinzufügte (beachten Sie, dass es keine href gibt). 

Ich habe nicht versucht, Attribute außer style zu verwenden, aber ich könnte mir vorstellen, dass Sie dies tun könnten. Das von mir verwendete E-Mail-System (Blackbaud NetCommunity) entfernt ein einfaches <a>-Tag, daher musste ich mindestens ein Attribut haben. 

28
Loko Web Design

Ich hatte ein ähnliches Problem und habe herausgefunden, ob Sie E-Mails wie diese verwenden.

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

e-Mail-Anbieter folgen E-Mails nicht als Link.

Hoffe das hilft.

21
Teoman shipahi

Nach einem Stichwort aus perilbrain's Antwort habe ich den folgenden Regex implementiert, den ich dafür verwende:

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

Beachten Sie, dass diese Funktion bei den übergebenen Elementen global ersetzt wird. Dies wäre wahrscheinlich zu aggressiv für natürliche Textblöcke wie im Beispiel des OP. Die Vorlagen werden jedoch häufig parametrisiert. Dies funktioniert hervorragend, wenn Sie einfach eine URL oder E-Mail übergeben ( Ich habe es tatsächlich als Template-Helper-Funktion implementiert, damit es genau das tut).

Die Funktion konvertiert die folgenden Eingaben:

[email protected]
http://johndoe.com

das sehr gut finden:

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

Beachten Sie, dass ich ein falsches kurzes Tag wie <x> wie in der akzeptierten Antwort ausprobiert habe und festgestellt habe, dass GMail es "intelligent" durch <u>-Tags ersetzt hat. Ich nehme an, dass es sich um ein Feature handelt, das jedoch nicht wünschenswert war. In meinen Tests verhindern <span>-Tags das Verknüpfen ohne visuelle Nebeneffekte.

7
Brian Moeskau

Geschafft!

Dies verhindert nicht, dass E-Mails in Links umgewandelt werden. Sie können jedoch die Schriftfarbe festlegen und die Unterstreichung dieses Links entfernen.

Es funktioniert in allen E-Mail-Clients, die ich auf litmus.com getestet habe - einschließlich Outlook 2010, 2013, 2016 (auch unter Windows), Outlook.com, iPhone 6s, iPad, Google Mail-Weboberfläche und Apple Mail 8, 9

Variante 1: Ein Link, der beim Anklicken nicht reagiert

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

Variante 2: Ein Mailto-Link. Arbeitet in fast alle Kunden Outlook.com gestaltet es jedoch blau und unterstrichen.

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

Ich habe eine nicht erwähnte Lösung für Text-E-Mails: Verwenden Sie ähnliche Unicode-Zeichen. Zum Beispiel ein Punktanführer (U + 2024) anstelle von Punkt. Vergleichen Sie, wie Běhej.com und Běhej․com aussehen (der erste ist mit einem normalen Punkt).

4
Petr Dlouhý

Da jetzt das einfache Umbrechen von <span> nicht funktioniert, schlage ich vor, @ durch seine HTML-Entity-Alternative zu ersetzen

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

Wenn Ihre E-Mail Telefonnummern enthält, können Sie sie mit der disable_tel_link-Funktion deaktivieren:

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);
}
1
Lukas Pierce

Keine der hier aufgeführten Lösungen scheint mehr zu funktionieren. Ich habe ein wenig mit der Idee von nicht druckbaren Unicode-Zeichen experimentiert und fand diese Reihenfolge:

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

Dabei ist ‌ der ZERO WIDTH NON-JOINER-Charakter.

0
Tomek

Angenommen, Ihre Anzeige-URL lautet "abcdUrl.com" Um zu verhindern, dass Google Mail als Link angezeigt wird, packen Sie es in ein Ankertag

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

Dies funktioniert gut in Google Mail.

0
Tapas Kumar

Ich hatte einen Punkt im Titel meiner Bestätigungsnachricht . Inspiriert von @perilbrain, drehte ich mein Problem so um

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

php 

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

einfach!

0
Andre

ich hatte das gleiche Problem und so nach ein paar Minuten herausgefunden, wie man es beheben kann.

wenn Sie das Element direkt anvisieren, funktioniert es nicht, da Google Mail dort automatisch ein "a" -Tag hinzufügt. Sie müssen also einen Schritt weitergehen und eine Klasse für das "a" -Tag deklarieren. In meinem Fall befand sich die E-Mail in einem "" Tag, mit dem ich leichter arbeiten konnte. Also habe ich eine Klasse so erstellt:

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

es gibt kein "a" -Tag in meinem Code, aber da Google Mail es automatisch hinzufügt, sollten Sie es dort abfangen. Jetzt müssen Sie nur noch diese Klasse verwenden, wo immer Sie Ihre E-Mail hinzufügen, wie "span" oder "div" und "boom"! Fest.

0
Shahin Shateri

Obwohl dies ein alter Faden ist, möchte ich Leuten helfen, die vielleicht hierher kommen. Ich habe festgestellt, dass das Hinzufügen eines Bereichs innerhalb des Links dazu führt, dass Google es nicht als Link sieht (siehe unten):

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