web-dev-qa-db-ja.com

MAILTOリンクの本文にHTMLリンクを追加することは可能ですか

Mailtoリンクをいじる必要はありません。ただし、可能であれば、mailtoの本文にリンクを追加する必要があります。

リンクを追加する方法や、開いているメールをHTMLメールとテキストメールに変更する方法はありますか?

何かのようなもの:

<a href="mailto:[email protected]?body=The message's first paragraph.%0A%0aSecond paragraph.%0A%0AThird Paragraph.%0A%0ALink goes here">Link text goes here</a>
106
StubbornMule

RFC 2368 のセクション2では、bodyフィールドはtext/plain形式であると想定されているため、HTMLを実行できません。

ただし、プレーンテキストを使用している場合でも、一部の最新のメールクライアントは、とにかくクリック可能なリンクとしてURLをレンダリングする可能性があります。

108
Alnitak

完全なリンクを追加します:

 "http://"

行の先頭に追加します。ほとんどの適切なメールクライアントは、送信前または受信時にもう一方の端で自動リンクします。

すべてのパラメーターが原因でラップされる可能性が非常に長いURLの場合、リンクを小なり記号または大なり記号でラップします。これは、メールクライアントにnotにURLをラップするよう指示します。

例えば.

  <http://www.example.com/foo.php?this=a&really=long&url=with&lots=and&lots=and&lots=of&prameters=on_it>
31
scunliffe

リンクにはHTMLが必要であり、mailtoリンクはHTML電子メールを作成しないため、私が知る限り不可能です。

このリンクにjavascriptまたはiframeを追加でき、電子メールクライアントが脆弱性のためにエンドユーザーを開く可能性があるため、これはおそらくセキュリティのためです。

6
GavinCattell

IEでjavascriptを確認してください。他の最新のブラウザが動作するかどうかわからない。

<html>
    <head>
        <script type="text/javascript">
            function OpenOutlookDoc(){
                try {

                    var outlookApp = new ActiveXObject("Outlook.Application");
                    var nameSpace = outlookApp.getNameSpace("MAPI");
                    mailFolder = nameSpace.getDefaultFolder(6);
                    mailItem = mailFolder.Items.add('IPM.Note.FormA');
                    mailItem.Subject="a subject test";
                    mailItem.To = "[email protected]";
                    mailItem.HTMLBody = "<b>bold</b>";
                    mailItem.display (0); 
                }
                catch(e){
                    alert(e);
                    // act on any error that you get
                }
            }
        </script>
    </head>
    <body>
        <a href="javascript:OpenOutlookDoc()">Click</a>
    </body>
</html>
6
chanchal1987

これが私がまとめたものです。それは私がそれを必要とした選択したモバイルデバイスで動作しますが、ソリューションがどれほど普遍的かはわかりません

<a href="mailto:[email protected]?subject=Me&body=%3Chtml%20xmlns%3D%22http:%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%3C%2Fhead%3E%3Cbody%3EPlease%20%3Ca%20href%3D%22http:%2F%2Fwww.w3.org%22%3Eclick%3C%2Fa%3E%20me%3C%2Fbody%3E%3C%2Fhtml%3E">
1
Mike

IOSデバイスで動作するように実装しましたが、Androidデバイスで失敗しました

<a  href="mailto:?subject=Your mate might be interested...&body=<div style='padding: 0;'><div style='padding: 0;'><p>I found this on the site I think you might find it interesting.  <a href='@(Request.Url.ToString())' >Click here </a></p></div></div>">Share This</a>
1
Kamlesh

「mailto」本文の仕様は次のとおりです。

メッセージの本文は、単にUS-ASCII文字の行です。本体の2つの制限は次のとおりです。

  • CRとLFは、CRLFとしてのみ一緒に出現する必要があります。それらは体に独立して現れてはいけません。
  • 本体の文字の行は998文字に制限する必要があり、CRLFを除く78文字に制限する必要があります。

https://tools.ietf.org/html/rfc5322#section-2.

一般的に、今日のほとんどの電子メールクライアントは自動リンクに優れていますが、セキュリティ上の問題のため、すべてが自動リンクに対応しているわけではありません。回避策を見つけることができますが、必ずしも普遍的に機能するとは限りません。

1
hazmatzo