問題は、GmailがすべてのWebサイトの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);
解決策はありますか?
URLの作成を停止する方法はありません。これは、テキストが有効なURLであるかどうかをメールプロバイダーが自動的に確認するためです。
これを克服する唯一の方法は、パーサーを欺くことです。パーサーがURLなどのように識別できないような方法で、スペース、HTMLタグなどを配置するだけです。
以下にいくつかのコード例を示します。
http:<span>//foolishedsiteparser.com</span>
_http://www.parsersmashed.com
noonesemail<x>@</x>linkdead.com>
結果は次のとおりです。
http://foolishedsiteparser.com
_http://www.parsersmashed.com
[email protected]
<a style="color: #000000">link text</a>
を追加するだけでこの問題を回避できました(href
がないことに注意してください)。
style
以外の属性を使用しようとはしていませんが、できると思います。私が使用する電子メールシステム(Blackbaud NetCommunity)は、プレーン<a>
タグを削除するため、少なくとも1つの属性が必要でした。
私は同じ問題を抱えていて、このような電子メールを使用するかどうかを確認しました。
<a rel="nofollow" style='text-decoration:none; color:#333'>[email protected]</a>
メールプロバイダーは、リンクとしてメールをフォローする傾向はありません。
お役に立てれば。
perilbrain's answer からヒントを得て、これに使用する次の正規表現を実装しました。
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>
タグは視覚的な副作用のないリンクを防ぎます。
ばっちり成功!
これは、メールがリンクに変換されることを妨げるものではありませんが、フォントの色を設定し、そのリンクの下線を削除することができます。
Outlook 2010、2013、2016(Windowsも同様)、Outlook.com、iPhone 6s、iPad、Gmail Webインターフェイス、およびAppleメール8、9
バリエーション1:クリックしても反応しないリンク
<a href="#" style="text-decoration:none; color:#000">[email protected]</a>
バリエーション2:mailto-link。で働く ほぼ すべてのクライアント。ただし、Outlook.comでは、下線付きで青色にスタイル設定されます。
<a href="mailto:[email protected]" style="text-decoration:none; color:#000">[email protected]</a>
テキスト電子メールの言及されていない解決策が1つあります。同様のUnicode文字を使用してください。たとえば、ドットの代わりに1つのドットリーダー(U + 2024)。 B、hej.comとBěhej․comの外観を比較してください(最初のドットは通常のドット付きです)。
ここにリストされているソリューションはどれももう機能しないようです。印刷不可能なUnicode文字のアイデアを少し試したところ、このシーケンスが機能することがわかりました。
<span>foo‌.‌bar‌.‌com</span>
ここで、はZERO WIDTH NON-JOINERキャラクターです。
現時点では、_<span>
_による単純なラッピングは機能していません。_@
_をHTMLエンティティの代替に置き換えることをお勧めします
_function disable_email_link($email) {
//encoder https://mothereff.in/html-entities
$email = str_replace('@', '@', $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);
}
_
表示URLが「abcdUrl.com」であるとします。Gmailがリンクとして表示されないようにするには、アンカータグでラップします
<a href="" style="text-decoration:none;color:#333;"> abcdUrl.com </a>
これはGmailでうまく機能します。
確認メッセージのタイトルにドットコムがありました。 @perilbrainに触発され、この問題を次のように展開しました
domain.com => domain<span>.</span>
php
$titre = str_replace(".", "<span>.</span>", $titre);
シンプル!
私は同じ問題を抱えていたので、数分後にそれを修正する方法を見つけました。
問題は、Gmailが自動的にaタグを追加するため、要素を直接ターゲットにすると機能しないため、さらに一歩進んでそのaタグのクラスを宣言する必要があることです。私の場合、電子メールは「」タグに含まれていたため、作業が簡単でした。だから私は次のようなクラスを作成しました:
.email_contact a {color:#ffffff!important; text-decoration: none!important;}
私のコードには「a」タグはありませんが、Gmailが自動的に追加するので、そこでキャッチする必要があります。これで、「span」や「div」、boomなどの電子メールを追加した場所でそのクラスを使用する必要があります。一定。
これは古いスレッドですが、ここに来るかもしれない人々を助けたいです。リンク内にスパンを追加すると、Googleがリンクを次のように表示しないことがわかりました:
<a href="https://www.link.dk" style="text-decoration: none !important; color: #878787 !important;">www.<span></span>link.dk</a>