Автоматически открывать почтовый клиент по умолчанию и заполнять контент
Мне нужно автоматически открыть почтовый клиент по умолчанию для пользователей, когда они сохраняют некоторый контент на странице. Мне нужно заполнить тему электронной почты, указать адрес и поместить некоторый контент в тело письма.
Каков наилучший вариант для достижения этого?
Я знаю атрибут mailto:
, но пользователь должен нажать на него, и я не уверен, что он позволяет указать тему и содержание?
Ответы
Ответ 1
Как описано RFC 6068, mailto позволяет указать тему и тело, а также поля cc. Например:
mailto:[email protected]?subject=Subject&body=message%20goes%20here
Пользователю не нужно щелкнуть ссылку, если вы вынудите его открыть с помощью JavaScript
window.location.href = "mailto:[email protected]?subject=Subject&body=message%20goes%20here";
Помните, что нет единого стандартного способа, с помощью которого браузеры/почтовые клиенты обрабатывают ссылки mailto (например, поля субъекта и тела могут быть отброшены без предупреждения). Также существует риск того, что всплывающие окна и блокираторы рекламы, антивирусное программное обеспечение и т.д. Могут блокировать принудительное открытие почтовых ссылок.
Ответ 2
JQuery
$(function () {
$('.SendEmail').click(function (event) {
var email = '[email protected]';
var subject = 'Test';
var emailBody = 'Hi Sample,';
var attach = 'path';
document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody+
"?attach="+attach;
});
});
HTML:
<button class="SendEmail">Send Email</button>
Ответ 3
Реализовано таким образом без использования JQuery:
<button class="emailReplyButton" onClick="sendEmail(message)">Reply</button>
sendEmail(message) {
var email = message.emailId;
var subject = message.subject;
var emailBody = 'Hi '+message.from;
document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody;
}
Ответ 4
Попробуйте использовать
<a href="mailto:[email protected]"><img src="ICON2.png"></a>
я открою почту по умолчанию напрямую