отправка электронной почты из html с помощью javascript без перспективы по умолчанию

Я хочу отправить электронное письмо с помощью javascript без использования Outlook. Я не хочу использовать mailto-объект, который использует Outlook для отправки электронной почты.

Есть ли прямой метод, предоставляемый JavaScript для отправки данных, представленных в форме, на адрес электронной почты.

Вроде. По крайней мере, у вас есть возможность сделать следующее:

Через JavaScript вы можете позвонить на серверную службу, которая может отправлять электронную почту через SMTP. Независимо от того, выполняется ли этот вызов посредством простой отправки формы на ваш собственный сервер или через XmlHttpRequest на удаленную службу, это зависит только от того, реализуете ли вы это самостоятельно и b) можете ли вы найти службу в другом месте.

ТЛ; др:

  • Сам JavaScript сам не может отправлять электронные письма
  • Однако вы можете заставить JavaScript вызывать услугу, которая способна «разговаривать» с SMTP.

Это будет какая-то работа, но я думаю, что с помощью Websockets вы можете заставить это работать.

Затем вам необходимо будет реализовать протокол SMTP:

http://www.smtp2go.com/articles/smtp-protocol.html

Вот учебник по websockets:

http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/

Вы можете прочитать спецификацию websockets для получения более подробной информации:

http://dev.w3.org/html5/websockets/#the-websocket-interface

Поэтому теоретически вы должны это сделать, но согласно спецификации SMTP обычно блокируется из Websockets:

Если порт – это порт, на который пользовательский агент настроен блокировать доступ, затем выведите исключение SecurityError. (Пользовательские агенты обычно блокируют доступ к известным портам, таким как SMTP.)

Но это обычно блокируется, а не всегда или требуется, поэтому он может работать, и это единственный способ увидеть, как javascript отправляет электронные письма.

Нет.

Такая особенность будет представлять угрозу безопасности, поскольку ее можно легко злоупотреблять спамерами. Чтобы напрямую отправить электронное письмо, не открывая экземпляр клиентского почтового клиента по умолчанию, вы должны передать данные на сервер, который отправит электронное письмо.

НЕТ! JavaScript не может отправить форму по электронной почте! но есть альтернативы для отправки данных формы на адрес электронной почты.

Прямой метод, предоставленный JavaScript для отправки данных, представленных в форме, на адрес электронной почты, отсутствует.

Основной проблемой не предоставления функции «Электронная почта электронной почты» является безопасность. Предположим, есть функция JavaScript для отправки электронной почты. Некоторые вредоносные кодеры могут написать сценарий для отправки электронной почты на какой-либо адрес сразу же при посещении их страницы. Это покажет ваш адрес электронной почты третьим лицам без вашего ведома. Они начнут заполнять ваш почтовый ящик множеством спам-сообщений!

Я думаю, что вы должны написать бэкэнд-программу, которая принимает адрес электронной почты и адрес электронной почты, а затем отправить электронное письмо. Затем вы можете отправить форму на бэкэнд с помощью Ajax в браузере.

Я действительно надеюсь, что нет никакого способа сделать это с помощью клиентского кода, потому что я действительно не хочу, чтобы какая-то случайная веб-страница, использующая мой компьютер, отправляла электронные письма, не зная об этом.

И, сказав это, я уверен, что ответ «нет».

Весь смысл «mailto» заключается в том, что он открывает почтовую программу пользователя по умолчанию (не обязательно Outlook), чтобы они знали, что они отправляют электронное письмо и могут редактировать все поля перед продолжением (при условии, что они хотят продолжить вообще).

Ближе всего вы можете понять, что я могу думать о том, что для вашего JavaScript сделать вызов Ajax на ваш веб-сервер, а затем отправить электронное письмо с вашего серверного кода.

Открытая почтовая программа зависит от того, на каком задании по умолчанию установлена ​​отдельная клиентская машина.

Чтобы отправить электронное письмо, не касаясь программы электронной почты, такой как Outlook, Thunderbird и т. Д., Вам нужно использовать какой-то серверный язык, такой как PHP, и это очень легко сделать, а также есть много ресурсов так что вы можете достичь того, чего хотите.