メールの受信者がクリックしてサイトに参加できるように、本文に自分のサイトのURLを送信する必要があります。
ただし、現在、メールクライアントは次のようにメールをレンダリングします。
リンクはここにあります http://www.example.com/foo.php?this=a
URLは&
シンボルで切り捨てられているため、結合プロセス全体が失敗しました。 mailto本文で http://www.example.com/foo.php?this=a&join=abc&user454 のようなURLを渡すにはどうすればよいですか?
私の現在のHTMLは次のとおりです。
<a href="mailto:[email protected]?body=Link goes here http://www.example.com/foo.php?this=a&really=long&url=with&lots=and&lots=and&lots=of&prameters=on_it
">Link text goes here</a>
URLをエンコードする必要があります。この RLデコーダー/エンコーダーツール でうまくいきます。次の 動作するようです :
<a href="mailto:[email protected]?body=Link goes here http%3A%2F%2Fwww.example.com%2Ffoo.php%3Fthis%3Da%26join%3Dabc%26user454
">Link text goes here</a>
使用しているリンクをURLエンコードするので、次のようになります。
<a href="mailto:[email protected]?body=Link%20goes%20here%20http%3A%2F%2Fwww.example.com%2Ffoo.php%3Fthis%3Da%26join%3Dabc%26user454">Link text goes here</a>
Javascript:alert(escape( "YOUR URL"));と入力できます。ブラウザのアドレスボックスで、mailtoリンクに対して安全なURLを取得します。たとえば、ブラウザのアドレスボックスに次のように入力して、Enterキーを押します。
javascript:alert(escape( "http://www.example.com/foo.php?this=a"));
表示されるメッセージボックスが表示されます。
http%3A // www.example.com/foo.php%3Fthis%3Da
OperaおよびMozillaベースのブラウザを使用すると、表示されたコンテンツをアラートボックスからコピーできます。
あなたはタイプすることによってそれを改善することができます
javascript:alert( "mailto:[email protected]?subject = My Subject&body =" + escape( "http://www.example.com/foo.php?this=a"));
リンクに件名と本文が含まれるようにします。その他の改善点は、From名を使用し、%0aを使用して改行することです。
javascript:alert( "mailto:Just Me <[email protected]>?subject = My Subject&body = This is the link:%250a" + escape( "http://www.example.com/foo.php?this= a "));
phpを使用しているので、「urlencode()」関数を使用できます。
<a href="mailto:[email protected]?body=Link goes here <?php echo urlencode('http://www.example.com/foo.php?this=a&really=long&url=with&lots=and&lots=and&lots=of&prameters=on_it
');?>">Link text goes here</a>