Как передать URL-адрес в теле mailto
мне нужно отправить URL-адрес моего сайта в теле, чтобы получатель почты мог щелкнуть по нему, чтобы присоединиться к моему сайту.
однако в настоящее время почтовый клиент отображает почту следующим образом:
ссылка идет здесь http://www.example.com/foo.php?this=a
URL усекается на &
символ, таким образом, весь процесс работы не удалось. Как я могу передать URL-адрес, как http://www.example.com/foo.php?this=a&join=abc&user454 в соответствующей тела?
мой текущий HTML следующий:
<a href="mailto:test@test.test?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>
4 ответов
вам нужно закодировать URL. Это URL декодер / кодер инструмент будет делать трюк. Следующее кажется, что работает:
<a href="mailto:test@test.test?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:test@test.test?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 ("Ваш URL")); в адресной строке браузера и получить URL-адрес, безопасный для ссылки mailto. Например, введите следующее в поле Адрес браузера и нажмите клавишу Ввод.
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:MyEmailAddress@Example.com?subject=My Subject&body="+escape("http://www.example.com/foo.php?this=a"));
так что вы получаете предмет и тело, включенные в ссылку. Другие улучшения могут быть с использованием имени From и разрывов строк с помощью %0a.
javascript:alert("mailto:Just Me <CMyEmailAddress@Example.com>?subject=My Subject&body=This is the link:%250a"+escape("http://www.example.com/foo.php?this=a"));
Как я вижу, вы используете php, тогда вы можете использовать функцию "urlencode ()"
<a href="mailto:test@test.test?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>