Можно ли использовать JavaScript для создания электронной почты на стороне клиента?
Я хочу создать веб-страницу создателя электронной почты на стороне клиента. Я знаю проблемы использования действия mailto в форме html (не стандартная, не настроенная почтовая аппликация, установленная на клиенте). Но веб-страница не очень важна, и они не очень заботятся.
Письмо, созданное действием mailto, имеет синтаксис:
тема: undefined тема
Тело:
param1 = value1
param2 = значение2
.
.
.
paramn = valuen
Можно ли использовать JavaScript для форматирования почты следующим образом?
Тема: XXXXX
Кузов: Значение1; значение2;... Value3 ValueN
Ответы
Ответ 1
То, что мы использовали в проекте, представляет собой всплывающее окно, которое открывает ссылку 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();
}
Ответ 2
У вас более или менее всего две альтернативы при отправке почты через браузер.
- создайте страницу, которая вводит пользователя, и позволяет отправлять почту через ваш веб-сервер. Для этого вам нужны какие-то серверные скрипты.
- используйте mailto: link для запуска открытия зарегистрированного почтового клиента. У вас есть очевидные ловушки, о которых вы говорили, и менее гибкие. Это требует меньше работы.
Ответ 3
Только с помощью javascript он невозможен.
Javascript не предназначен для того, чтобы делать такие вещи и сильно искалечен в том, как он может взаимодействовать с чем-либо другим, кроме веб-браузера, в котором он живет (по уважительной причине!).
Подумайте об этом: спамер, создающий веб-сайт с javascript на стороне клиента, который автоматически отправит тысячи случайных адресов электронной почты. Если люди должны пойти на этот сайт, все они будут участвовать в распределенной массовой рассылке с их собственным компьютером... нет необходимости в инфицировании или взаимодействии с пользователем!
Ответ 4
Вы можете создать почтовую ссылку и запустить ее с помощью javascript:
var mail = "mailto:[email protected]?subject=New Mail&body=Mail text body";
var mlink = document.createElement('a');
mlink.setAttribute('href', mail);
mlink.click();
Ответ 5
Есть ли причина, по которой вы не можете просто отправить данные на страницу, которая обрабатывает отправку почты? Достаточно легко отправить электронное письмо на большинстве языков, поэтому, если у него нет веских оснований для его нажатия на клиентскую сторону, я бы рекомендовал этот маршрут.