Могу ли я использовать JavaScript для создания клиентской электронной почты?

Я хочу создать веб-страницу создания почты на стороне клиента. Я знаю проблемы использования действия mailto в html-форме (нестандартно, на клиенте не установлено почтовое приложение по умолчанию). Но веб-страница не очень важна, и им не все равно.

Почта, созданная действием mailto, имеет синтаксис:

предмет: неопределенный предмет
тело:

param1 = значение1
param2 = значение2
.
,
,
paramn = valuen

Могу ли я использовать JavaScript для форматирования почты, как это?

Тема: XXXXX

Тело: Value1; Value2; Value3 ... ValueN

11.08.2008 07:39:51
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();    
}
17
11.10.2011 19:32:54
Похоже, что в IE 8 не работает. По словам отладчика, wndMail имеет значение null.
Eugene Katz 3.11.2009 16:41:36
Жаль это слышать. Это из старого проекта с использованием IE6. Не стесняйтесь редактировать, чтобы улучшить :)
Vincent Robert 3.11.2009 17:11:37
Пока не могу найти решение.
Eugene Katz 3.11.2009 17:26:38
Я использую предоставленный код @Vincent Robert, но он открывает только Google Chrome, и после этого ничего не происходит, скажите, что делать сейчас!
Mahavirsinh Padhiyar 24.11.2015 06:47:23

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

-1
11.08.2008 07:50:53

У вас более или менее есть только две альтернативы при отправке почты через браузер.

  1. создать страницу, которая принимает пользовательский ввод и позволяет отправлять почту через ваш веб-сервер. Для этого вам нужен какой-нибудь серверный сценарий.
  2. используйте ссылку mailto: для запуска открытия зарегистрированного почтового клиента. Это имеет очевидные подводные камни, о которых вы упомянули, и менее гибко. Это требует меньше работы, хотя.
6
11.08.2008 09:26:08

С одним только javascript это невозможно .
Javascript не предназначен для таких целей и серьезно ограничен в способе взаимодействия с чем-либо, кроме веб-браузера, в котором он живет (по уважительной причине!).

Подумайте об этом: спамер пишет веб-сайт с клиентским javascript, который автоматически рассылает тысячи случайных адресов электронной почты. Если люди пойдут на этот сайт, то все они будут участвовать в мошенничестве с распространяемой массовой рассылкой со своим собственным компьютером ... заражение или взаимодействие с пользователем не требуется!

4
11.08.2008 08:48:39
Но действие mailto не отправляет почту, оно только вызывает клиентское почтовое приложение по умолчанию и создает новое письмо, но без его отправки. Так что такой вредоносный сайт не может рассылать спам без поддержки пользователя. Я только хочу, чтобы javascript форматировал тело сообщения, а не отправлял его, но просмотреть ответы на это невозможно.
Telcontar 11.08.2008 09:45:58

Вы можете создать mailto-ссылку и запустить ее, используя javascript:

  var mail = "mailto:buddy@mail.com?subject=New Mail&body=Mail text body";  
  var mlink = document.createElement('a');
  mlink.setAttribute('href', mail);
  mlink.click();
1
30.01.2015 11:18:33
Спасибо, что ответили на мою мысль о "просторах" супер просто!
Fortin 22.09.2016 18:59:13