Можно ли установить тему / содержание письма при использовании mailto:?
Можно ли установить тему / содержание письма при использовании mailto:?
Ответы:
Да, посмотрите все советы и рекомендации с помощью mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm
Пример темы mailto:
<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>
mailto с содержанием:
<a href="mailto:no-one@snai1mai1.com?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: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>
Вы можете использовать этот код для установки темы, тела, копии, скрытой копии
Схема mailto:
URL-адреса определена в 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&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>";
?>
$uri = ...
: &
перед subject
должен быть?
Вы можете добавить тему, добавленную в команду 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
:
Full Шаблон полных писем в mailto
Я разделил его на отдельные строки, чтобы сделать его немного более читабельным.
<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>
вот хитрость 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>
Да:
Используйте это, чтобы поэкспериментировать с элементами формы mailto и кодированием ссылок.
Вы можете ввести тему, текст (то есть содержимое) и т. Д. В форму, нажать кнопку и увидеть ссылку mailto html, которую вы можете вставить на свою страницу.
Вы можете даже указать элементы, которые редко известны и используются: cc, bcc, из электронных писем.
[Test Zõne]
становится %5BTest%20Z%C3%B5ne%5D
, это может избежать некоторых спам-ботов).
&#x
(избегая некоторых спам-ботов).
Да, вам может понравиться это:
mailto: email@host.com?subject=something
Обратите внимание, что в соответствии с RFC 2368 невозможно использовать HTML в теле сообщения :
Специальное hname «body» указывает, что ассоциированное hvalue является телом сообщения. Hname «body» должно содержать содержимое первой текстовой / простой части тела сообщения. URL mailto в первую очередь предназначен для генерации коротких текстовых сообщений, которые на самом деле являются содержимым автоматической обработки (например, сообщения «подписка» для списков рассылки), а не общими телами MIME.
Вот исполняемый фрагмент, который поможет вам создать 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-писем по умолчанию. Если вы хотите протестировать, вот код простой почтовой ссылки с изображением, обернутым в ссылку (для наглядности добавлены угловые стили):
<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.