Вот альтернативное решение очень похоже на принятый ответ, если вы используете JQuery и хотели бы расширить ее функциональные возможности выполните это. Так же хорошо, как и другой ответ, но я думал, что выбраю альтернативное решение, которое я использую. До сих пор у меня не было проблем с использованием кросс-браузера. Я не вернулся и попробовал более старые версии IE, но использовал только последнюю версию каждого браузера, чтобы проверить это.
Расширение JQuery, чтобы включить пользовательский функция почтовик
$(function() {
$.fn.myMailer = function() {
this.display = function() {
var url = 'mailto:' + this.To +
'?subject=' + encodeURIComponent(this.Subject) +
'&body=' + encodeURIComponent(this.HTMLBody);
window.location = url;
return true;
}
}
});
Пример использования:
var myMailItem = new $.fn.myMailer();
myMailItem.To = '[email protected]';
myMailItem.Subject = 'Your Subject';
myMailItem.HTMLBody = 'Whatever you want your E-Mail to say';
myMailItem.display(0);
Кроме того, если вы хотите добавить CC или BCC получателей затем следуйте структуре выше, чтобы добавить их в mailto строка запроса.
Я также попытался получить вложения в Outlook, E-Mail на компьютере клиентов
$(function() {
$.fn.myMailer = function() {
this.display = function() {
var url = 'mailto:' + this.To + '?content-type=' +
encodeURIComponent('multipart/form-data') +
'&subject=' + encodeURIComponent(this.Subject) +
'&body=' + encodeURIComponent(this.HTMLBody) +
'&attachment=' + encodeURIComponent(this.Attachment);
window.location = url;
return true;
}
}
});
мне не удалось с этой попытки. Я не уверен, что это возможно исключительно из-за использования клиентского кода. Я могу ошибаться. Это может также представлять угрозу безопасности, я думаю, если это возможно.
Я бы сказал, что лучше всего использовать скрипты клиентов, чтобы вызывать код на стороне сервера, но вы предпочитаете это делать, и сервер отправляет E-Mail, если это применимо.
Однако мне было необходимо, чтобы вложение было добавлено в электронную почту Outlook, которая всплывала бы на клиентском компьютере, поэтому я все еще разрабатываю окончательные сведения о том, как обрабатывать добавление вложений для моей ситуации. Использование .NET. Я думаю, что должен быть какой-то способ справиться с этим. Я просто не успел реализовать обработчик на стороне сервера, чтобы выполнить его. Если кто-то пытается сделать то же самое, используя .NET. here - хорошая ссылка для начала работы с Outlook 2013 MailItem.
Вы уже проверили этот код? Я думаю, что это не сработает для Outlook. Тело mailto должно быть в формате plain/text, а не в html. (Определение RFC) Outlook распечатает HTML-код, который можно прочитать. Любые другие решения? – Mimefilt
Я тестировал его, но у меня html отключен на моем thunderbird, поэтому я этого не заметил. Я не могу думать о другом решении, однако я нашел эту страницу: http://www.angelfire.com/dc/html-webmaster/mailto.htm, которая рассказывает об использовании форм с '' mailto: "' action: '< FORM method = "post" action = "mailto: [email protected]" enctype = "text/plain"> 'попробуйте с этим изменением' text/plain' на 'text/html', я не уверен, насколько это стандарт или работает ли он с HTML, но стоит сделать снимок. (вы можете создать временную форму с javascript и отправить ее, но, конечно, сначала попробуйте html, чтобы она работала). – aularon
Спасибо за ваш ответ. «Обычная» ссылка не работает для Outlook. (Он будет работать для ** некоторых ** версий thunderbird, но не для перспективы). Я попробую решение формы в понедельник. – Mimefilt