Могу ли я использовать JavaScript для создания электронной почты на стороне клиента?
Я хочу создать веб-страницу для создания почты на стороне клиента. Я знаю проблемы использования действия mailto в html-форме (нестандартно, на клиенте не установлено почтовое приложение по умолчанию). Но веб-страница не очень важна, и им все равно.
Сообщение, созданное действием mailto, имеет синтаксис:
тема: undefined
тело темы :параметр1 = значение1 параметр2
= значение2
.
.
.
paramn = valuen
Могу ли я использовать JavaScript для такого форматирования почты?
Тема: XXXXX
Тело: Значение1; Значение2; Значение3 ... ЗначениеN
Ответов (5)5
То, что мы использовали в проекте, - это всплывающее окно, которое открывает ссылку mailto :. Это единственный способ, который мы нашли для создания письма в почтовом клиенте по умолчанию, который работает со всеми почтовыми клиентами (по крайней мере, со всеми используемыми нашими клиентами).
var addresses = "";//between the speech mark goes the receptient. Seperate addresses with a ;
var body = ""//write the message text between the speech marks or put a variable in the place of the speech marks
var subject = ""//between the speech marks goes the subject of the message
var href = "mailto:" + addresses + "?"
+ "subject=" + subject + "&"
+ "body=" + body;
var wndMail;
wndMail = window.open(href, "_blank", "scrollbars=yes,resizable=yes,width=10,height=10");
if(wndMail)
{
wndMail.close();
}
У вас более или менее есть только две альтернативы при отправке почты через браузер.
- сделать страницу, которая принимает вводимые пользователем данные и позволяет им отправлять почту через ваш веб-сервер. Для этого вам понадобится какой-то серверный скрипт.
- используйте ссылку mailto:, чтобы запустить открытие почтового клиента, зарегистрированного пользователями. Здесь есть очевидные подводные камни, о которых вы упомянули, и он менее гибкий. Однако для этого нужно меньше работы.
Вы можете создать ссылку mailto и запустить ее с помощью javascript:
var mail = "mailto:[email protected]?subject=New Mail&body=Mail text body";
var mlink = document.createElement('a');
mlink.setAttribute('href', mail);
mlink.click();
С одним только javascript это невозможно .
Javascript не предназначен для таких вещей и серьезно ограничен в том, как он может взаимодействовать с чем-либо, кроме веб-браузера, в котором он живет (по уважительной причине!).
Подумайте об этом: спамер пишет веб-сайт с JavaScript на стороне клиента, который автоматически отправляет почту на тысячи случайных адресов электронной почты. Если люди зайдут на этот сайт, все они будут участвовать в рассылке распределенных рассылок со своим компьютером ... Никакого заражения или взаимодействия с пользователем не требуется!