Могу ли я установить тему / содержание письма, используя mailto :? - PullRequest
832 голосов
/ 24 января 2011

Можно ли установить тему / содержание письма при использовании mailto:?

Ответы [ 13 ]

1373 голосов
/ 24 января 2011

Да, посмотрите все советы и рекомендации с mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

Пример почтовой темы:

<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>

mailto с содержанием:

<a href="mailto:?subject=look at this website&body=Hi,I found this website
and thought you might like it http://www.geocities.com/wowhtml/">tell a friend</a>

Как указано в комментариях, оба subject и body должны быть экранированы должным образом. Для каждого случая используйте encodeURIComponent(subject) вместо кодирования вручную (например, %0A для разрывов строк).

113 голосов
/ 24 января 2011
<a href="mailto:manish@simplygraphix.com?subject=Feedback for 
webdevelopersnotes.com&body=The Tips and Tricks section is great
&cc=anotheremailaddress@anotherdomain.com
&bcc=onemore@anotherdomain.com">Send me an email</a>

Вы можете использовать этот код для установки темы, тела, копии, скрытой копии

33 голосов
/ 28 декабря 2016

Схема URL mailto: определена в RFC 2368 .Кроме того, соглашение о кодировании информации в URL и URI определено в RFC 1738 , а затем RFC 3986 .Они описывают, как включить заголовки body и subject в URL (URI):

mailto:infobot@example.com?subject=current-issue&body=send%20current-issue

В частности, вы должны в процентах кодировать адрес электронной почты, тему и текст и помещать их вформат выше.Закодированный в процентах текст допустим для использования в HTML, однако этот URL должен быть закодирован для использования в атрибуте href в соответствии со стандартом HTML4 :

<a href="mailto:infobot@example.com?subject=current-issue&amp;body=send%20current-issue">Send email</a>

И, в общем, вот простой скрипт PHP, который кодирует в соответствии с приведенным выше.

<?php
$encodedTo = rawurlencode($message->to);
$encodedSubject = rawurlencode($message->subject);
$encodedBody = rawurlencode($message->body);
$uri = "mailto:$encodedTo&subject=$encodedSubject&body=$encodedBody";
$encodedUri = htmlspecialchars($uri);
echo "<a href=\"$encodedUri\">Send email</a>";
?>
23 голосов
/ 16 мая 2013

Вы можете добавить тему, добавленную в команду mailto, одним из следующих способов. Добавьте? Subject out mailto в тег mailto.

<a href="mailto:test@example.com?subject=testing out mailto">First Example</a>

Мы также можем добавить текст в тело сообщения, добавив & body к концу тега, как показано в примере ниже.

 <a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>

В дополнение к телу пользователь может также ввести & cc или & bcc, чтобы заполнить поля CC и BCC.

<a href="mailto:test@example.com?subject=testing out mailto&body=Just testing&cc=test1@example.com&bcc=test1@example.com">Third
    Example</a>

Как добавить тему в тег mailto

12 голосов
/ 24 января 2011
mailto:joe@company.com?subject=Your+subject
8 голосов
/ 27 января 2016

Я разделил его на отдельные строки, чтобы сделать его немного более читабельным.

<a href="

    mailto:johndoe@gmail.com

    ?subject=My+great+email+to+you

    &body=This+is+an+awesome+email

    &cc=janedoe@gmail.com

    &bcc=billybob@yahoo.com

">Click here to send email!</a>
8 голосов
/ 27 октября 2014

вот трюк http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text

<a href="mailto:tips@neworganizing.com?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
7 голосов
/ 19 июня 2015

Да:

Используйте это , чтобы поэкспериментировать с элементами формы mailto и кодированием ссылок.

Вы можете ввести тему, текст (то есть содержимое) и т. Д. В форму, нажать кнопку и увидеть ссылку mailto html, которую можно вставить на свою страницу.

Вы можете даже указать элементы, которые редко известны и используются: cc, bcc, из электронных писем.

6 голосов
/ 24 января 2011

Да, вам может понравиться это:

mailto: email@host.com?subject=something
5 голосов
/ 01 августа 2016

Обратите внимание, что невозможно использовать HTML в теле сообщения, в соответствии с RFC 2368 :

Специальное hname "body" указывает, что ассоциированное значение hТело сообщения.Hname «body» должно содержать содержимое первой текстовой / простой части тела сообщения.URL mailto в первую очередь предназначен для создания коротких текстовых сообщений, которые на самом деле являются содержимым автоматической обработки (например, сообщения «подписка» для списков рассылки), а не общими телами MIME.*https://stackoverflow.com/a/13415988/1835519

...