Можно ли задать тему / содержание электронного письма, когда я использую mailto :?
Могу ли я установить тему / содержание электронного письма с помощью mailto :?
Ответы (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
<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>
вы можете использовать этот код для установки темы, тела, копии, скрытой копии
Схема 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&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>";
?>
Я создал инструмент с открытым исходным кодом, чтобы упростить эту задачу. Введите нужные строки, и вы сразу получите mailto
:
mailto.now.sh
????⚡️ Шаблон полных писем в mailto
Вы можете добавить тему, добавленную в команду 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
Я разделил его на отдельные строки, чтобы было удобнее читать.
<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>
вот трюк 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>
Да:
Используйте this, чтобы поэкспериментировать с элементами формы mailto и кодировкой ссылок.
Вы можете ввести тему, текст (т.е. контент) и т. Д. В форму, нажать кнопку и увидеть ссылку mailto html, которую вы можете вставить на свою страницу.
Вы даже можете указать элементы, которые редко известны и используются: cc, bcc, из электронных писем.
[Test Zõne]
становится %5BTest%20Z%C3%B5ne%5D
, это может избежать некоторых спам-ботов).
- person Armfoot; 28.08.2015
&#x
(что позволяет избежать некоторых спам-ботов).
- person Armfoot; 28.08.2015
Да, вам может понравиться это:
mailto: [email protected]?subject=something
Обратите внимание, что в соответствии с RFC 2368 нельзя использовать HTML в теле сообщения:
Специальное hname "body" указывает, что соответствующее hvalue является телом сообщения. Hname "body" должно содержать содержимое для первой текстовой / простой части сообщения. URL-адрес mailto в первую очередь предназначен для создания коротких текстовых сообщений, которые фактически являются содержимым автоматической обработки (например, сообщения «подписка» для списков рассылки), а не обычными телами MIME.
Кредит: https://stackoverflow.com/a/13415988/1835519
Вот исполняемый фрагмент, который поможет вам создавать ссылки 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>
Если вы хотите добавить 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-адресу.
subject
не текст. Это стол. Как это добавить.
- person David; 08.07.2016