Вот альтернативное решение, очень похожее на принятый ответ, если вы используете 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 = 'yourEmail@domain.com';
myMailItem.Subject = 'Your Subject';
myMailItem.HTMLBody = 'Whatever you want your E-Mail to say';
myMailItem.display(0);
Кроме того, если вы хотите добавить CC или BCC получателей, следуйте приведенной выше структуре, чтобы добавить их также в строку запроса mailto .
Я также пытался получить вложение в E-Mail Outlook на клиентском компьютере
$(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 , здесь - хорошая ссылка для начала работы со Outlook 2013 MailItem свойствами.