Можно ли использовать 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

Есть ли причина, по которой вы не можете просто отправить данные на страницу, которая обрабатывает отправку почты? Достаточно легко отправить электронное письмо на большинстве языков, поэтому, если у него нет веских оснований для его нажатия на клиентскую сторону, я бы рекомендовал этот маршрут.