Могу ли я установить тему / содержание электронного письма с помощью mailto :?

Можно ли задать тему / содержание электронного письма, когда я использую mailto :?


person Jiew Meng    schedule 24.01.2011    source источник
comment
связанные css-tricks.com/snippets/html/mailto-links   -  person Adrien Be    schedule 30.04.2015
comment
Вы можете установить каждую часть электронного письма. Вот инструмент, который я создал, чтобы сделать его предельно простым: mailto.now.sh   -  person Dawson B    schedule 09.11.2017


Ответы (13)


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

mailto пример темы:

<a href="mailto:[email protected]?subject=free chocolate">example</a>

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

<a href="mailto:[email protected]?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) для каждого, а не кодируйте вручную для конкретных случаев.

Как упоминалось в комментариях Hoody, вы можете добавлять разрывы строк, добавляя следующую закодированную последовательность в строку:

%0D%0A // one line break
person Haim Evgi    schedule 24.01.2011
comment
можно ли использовать HTML для тела? - person Jiew Meng; 25.01.2011
comment
Это полностью зависит от клиента. В общем случае нет. - person tripleee; 16.05.2013
comment
Вы можете добавить HTML в тело, если URL кодируете всю строку. Вам нужно будет протестировать и убедиться, что он хорошо работает в большинстве почтовых клиентов. - person jocull; 05.08.2013
comment
Просто в качестве справки: вам не нужно скрывать предмет - person Oscar Pérez; 09.12.2013
comment
Кто-нибудь знает ссылку, в которой описывается поддержка почтового клиента для этого? - person Simon East; 18.03.2014
comment
Обратите внимание, что W3C требует, чтобы вы кодировали строку в соответствии со следующими правилами: Символы должны быть представлены в NFC, а пробелы должны быть экранированы как% 20. - person gordie; 20.01.2015
comment
Ссылка на angelfire.com недоступна. Вы можете найти ему замену? Если нет, его можно убрать из ответа. Какая информация там была? - person dakab; 16.06.2016
comment
Я могу перейти по ссылке, что вы видите - person Haim Evgi; 19.06.2016
comment
Вы знаете, что этой ссылке angelfire, наверное, 15 лет, верно? - person Capsule; 25.08.2016
comment
есть ли ограничение на 256 символов для строки mailto? - person Namkce; 05.12.2017
comment
+ один для ретро-ссылок на Angelfire и Geocities, который вызвал у меня огромный прилив ностальгии - person superphonic; 07.12.2017
comment
@tripleee как насчет RFC, упомянутого по адресу: stackoverflow.com/a/41365892/895245 - person Ciro Santilli 新疆再教育营六四事件ۍ 04.03.2018
comment
@CiroSantilli Действительно, пять лет спустя поддержка клиентов стала значительно более распространенной, но, по моему опыту, все еще не совсем надежной. - person tripleee; 04.03.2018
comment
Вот инструмент, который сделает все за вас (тема, текст, кодировка URL, разрывы строк) email-link- builder.netlify.com - person Sam Carlton; 14.12.2018

<a href="mailto:[email protected]?subject=Feedback for 
webdevelopersnotes.com&body=The Tips and Tricks section is great
&[email protected]
&[email protected]">Send me an email</a>

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

person Simer Twilio Toronto developer    schedule 24.01.2011

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

mailto:[email protected]?subject=current-issue&body=send%20current-issue

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

<a href="mailto:[email protected]?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>";
?>
person William Entriken    schedule 28.12.2016
comment
Вот более подробный пример, если в вашем электронном письме есть URL-адрес, а в этом URL-адресе есть вещи, которые необходимо закодировать: stackoverflow.com/questions/4744888/ - person William Entriken; 18.01.2018

Я создал инструмент с открытым исходным кодом, чтобы упростить эту задачу. Введите нужные строки, и вы сразу получите mailto:

mailto.now.sh

????⚡️ Шаблон полных писем в mailto

введите описание изображения здесь

person Dawson B    schedule 21.04.2019

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

<a href="mailto:[email protected]?subject=testing out mailto">First Example</a>

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

 <a href="mailto:[email protected]?subject=testing out mailto&body=Just testing">Second Example</a>

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

<a href="mailto:[email protected]?subject=testing out mailto&body=Just testing&[email protected]&[email protected]">Third
    Example</a>

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

person niksmac    schedule 16.05.2013

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

<a href="

    mailto:[email protected]

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

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

    &[email protected]

    &[email protected]

">Click here to send email!</a>
person quemeful    schedule 27.01.2016
comment
на этот вопрос ответили 5 лет назад - person varun aaruru; 27.01.2016
comment
и он все еще используется сегодня, когда вы хотите отправить что-то - person quemeful; 28.01.2016

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

<a href="mailto:[email protected]?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
person Arun Kushwaha    schedule 27.10.2014
comment
нужен + вместо пробелов? отлично работает без Gmail - person SuperUberDuper; 28.06.2019
comment
Ссылка сейчас мертва - person Peter Johnson; 14.10.2020
comment
ссылка не работает, попробуйте qawithexperts.com/article/html/ Чтобы использовать детали mailto в теге привязки - person Vikas Lalwani; 14.10.2020

Да:

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

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

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

person woz    schedule 19.06.2015
comment
Также очень полезной функцией этого композитора поля href является возможность кодировать все символы в шестнадцатеричном формате (например: [Test Zõne] становится %5BTest%20Z%C3%B5ne%5D, это может избежать некоторых спам-ботов). - person Armfoot; 28.08.2015
comment
Я имею в виду, что если вы решите кодировать все символы, все они будут преобразованы в нотацию HTML &#x (что позволяет избежать некоторых спам-ботов). - person Armfoot; 28.08.2015
comment
Эта ссылка мертва. - person Bram Vanroy; 05.09.2018

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

mailto: [email protected]?subject=something
person MeanEYE    schedule 24.01.2011
comment
Я не думаю, что там должно быть место? - person nafg; 20.12.2016
comment
это должно быть без места. - person Hassan Raza; 28.02.2020

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

Специальное hname "body" указывает, что соответствующее hvalue является телом сообщения. Hname "body" должно содержать содержимое для первой текстовой / простой части сообщения. URL-адрес mailto в первую очередь предназначен для создания коротких текстовых сообщений, которые фактически являются содержимым автоматической обработки (например, сообщения «подписка» для списков рассылки), а не обычными телами MIME.

Кредит: https://stackoverflow.com/a/13415988/1835519

person Jure Sah    schedule 01.08.2016
comment
Вопрос в том, как задать тему и содержание. Он не упомянул форматирование. Хотя это полезно отметить в ответе, вы не упомянули, что возможно и как этого добиться. Без этого это комментарий, а не ответ. - person Quentin; 10.08.2016
comment
Юре, я действительно ценю, что вы задали это как ответ на этот вопрос, поскольку это ТОЧНО то, что мне нужно было выяснить, и я спрашивал себя. Итак, хотя Квентин думает, что это не отвечает на вопрос OP, он отвечает на мой, что я искал, что подняло этот пост. Огромное спасибо Юре! - person user1567291; 14.12.2018

Вот исполняемый фрагмент, который поможет вам создавать ссылки mailto: с необязательной темой и телом.

function generate() {
  var email = $('#email').val();
  var subject = $('#subject').val();
  var body = $('#body').val();

  var mailto = 'mailto:' + email;
  var params = {};
  if (subject) {
    params.subject = subject;
  }
  if (body) {
    params.body = body;
  }
  if (params) {
    mailto += '?' + $.param(params);
  }

  var $output = $('#output');
  $output.val(mailto);
  $output.focus();
  $output.select();
  document.execCommand('copy');
}

$(document).ready(function() {
  $('#generate').on('click', generate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="email" placeholder="email address" /><br/>
<input type="text" id="subject" placeholder="Subject" /><br/>
<textarea id="body" placeholder="Body"></textarea><br/>
<button type="button" id="generate">Generate & copy to clipboard</button><br/>
<textarea id="output">Output</textarea>

person congusbongus    schedule 10.10.2018

Если вы хотите добавить html-контент к своему электронному письму, url закодирует ваш html-код для тела сообщения и включите его в свой код ссылки mailto, но проблема в том, что вы не можете установить тип электронного письма по этой ссылке с простого текста на html, клиенту, использующему ссылку, по умолчанию требуется, чтобы их почтовый клиент отправлял электронные письма в формате HTML. Если вы хотите протестировать, вот код простой ссылки mailto с изображением, заключенным в ссылку (URL-адреса в стиле angular добавлены для наглядности):

<a href="mailto:?body=%3Ca%20href%3D%22{{ scope.url }}%22%3E%3Cimg%20src%3D%22{{ scope.url }}%22%20width%3D%22300%22%20%2F%3E%3C%2Fa%3E">

Теги html кодируются по URL-адресу.

person serdarsenay    schedule 29.01.2016
comment
Можете ли вы также опубликовать пример, где в теле ‹a href› есть только href и текст между ним и конечным тегом? Спасибо - person user1567291; 14.12.2018
comment
‹A href=< тоже самое, что и выше. ›Это текст ссылки ‹/a› @ user1567291 - person serdarsenay; 15.12.2018
comment
Это не работает. Почтовый клиент будет просто отображать все теги html как текст, а не обрабатывать его как документ с форматированным текстом. - person Ε Г И І И О; 09.01.2020

person    schedule
comment
Мой subject не текст. Это стол. Как это добавить. - person David; 08.07.2016
comment
@David Вы не можете поставить таблицу по теме, знаете ли вы, как работают темы электронной почты? Темы представляют собой простые текстовые строки. Максимум из базовых вещей, которые вы можете надеть на тему, - это смайлики. - person Macumbaomuerte; 10.10.2020