Рубрики
Без рубрики

Отправка электронных писем с JavaScript

Узнайте, как отправлять электронные письма с JavaScript с SMTP или без Gmail или другой почтовый сервер.

Автор оригинала: Andriy Zapisotskyi.

Руководство о Отправка электронных писем с JavaScript впервые появился на блоге MailTrap.

JavaScript – это язык программирования, который вы можете использовать как для интерфейса, так и для задней разработки. Когда имя JavaScript используется в контексте отправки электронных писем, Node.js – это первое, что приходит на ум. Мы даже обманывали, как отправлять электронные письма с Node.js. В этой статье мы хотим изменить перспективу с стороны сервера на сторону клиента. Давайте выясним, как вы можете использовать JS для отправки электронных писем из приложения, у которого нет заднего конца.

FAQ: Могу ли я отправить электронные письма с JS или нет?

Вы не можете отправлять электронные письма, использующие только код JavaScript из-за отсутствия поддержки серверных розеток. Для этого вам нужен язык сервера, который разговаривает с SMTP-сервером. Вы можете использовать JS в сочетании с скриптом сервера, который отправит электронные письма из браузера на основе ваших запросов. Это значение, которое мы собираемся представить ниже.

Почему вы можете отправить электронные письма с JS

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

Итак, почему кто-нибудь готов пойти еще один путь и отправлять электронные письма прямо на стороне клиента с помощью JavaScript? Такой подход довольно полезен для формирования контактных форм или других видов пользовательских взаимодействий в веб-приложениях, что позволяет вашему приложению отправлять электронную почту без обновления страницы, с которой пользователь взаимодействует. Кроме того, вам не нужно беспокоить с кодированием сервера. Это сильный аргумент, если ваше веб-приложение использует отправку электронной почты только для контактных форм. Ниже вы найдете несколько вариантов о том, как сделать ваше приложение отправлять электронные письма с сторон клиента.

mailto: для отправки данных форм

Поскольку вы не можете отправить электронное письмо напрямую с JS, вы можете сообщить браузеру открывать почтовый клиент по умолчанию для этого. Технически, Mailto: Способ не отправляет электронное письмо напрямую из браузера, но это может сделать работу. Проверьте, как работает следующий код:

FirstName: Email:

Когда вы запускаете его в браузере, вы увидите следующее:

Снимок экрана 2020-06-16 в 1.45.34 PM.PNG

Как только данные будут отправлены, браузер открывает почтовый клиент по умолчанию. В нашем случае это Gmail.

Снимок экрана 2020-06-16 в 1.45.46 PM.PNG

Mailto: Метод – это довольно простое решение для реализации, но у него есть некоторые конкретные недостатки:

  • Вы не можете управлять макетом данных, поскольку данные представлены в форме, отправленной браузером.
  • Mailto: Не защищает ваш адрес электронной почты от уборки спам-богоматов. Некоторое время назад это может быть смягчено, построив ссылку в JS. В наши дни все больше и больше ботов запускают JS и не полагаются на HTML, представленные в одиночку.

Smtpjs.com – True Email Отправка из JavaScript

SMTPJS Это бесплатная библиотека, которую вы можете использовать для отправки электронных писем из JavaScript. Все, что вам нужно, это SMTP-сервер и несколько манипуляций, чтобы сделать все сделано. Мы будем использовать Mailtrap.io Как сервер, потому что это действенное решение для тестирования электронной почты. Ниже приведен поток, который вы должны следовать:

  • Создайте HTML-файл (например, test.html) со следующим сценарием:

  • Создайте кнопку, которая заставит функцию JavaScript

  • Напишите функцию JS, чтобы отправить электронные письма через SMTPJS.com.

Email.send({
    Host : "smtp.mailtrap.io",
    Username : "",
    Password : "",
    To : 'recipient@example.com',
    From : "sender@example.com",
    Subject : "Test email",
    Body : "

Header

Bold text
Italic" }).then( message => alert(message) ); }
  • Запустите Test.html в браузере и отправьте свой адрес электронной почты

Недостатный образец с образцом кода выше состоит в том, что ваше имя пользователя и пароль видны в сценарии клиента. Это может быть исправлено, если вы используете опцию шифрования, предоставленные SMTPJS. Нажмите кнопку Encrypt своих учетных данных SMTP и заполните необходимые поля.

Снимок экрана 2020-06-16 в 1,54.00 вечера.

После этого нажмите Generate Token Security и используйте его, затем в функции JS вместо настроек SMTP-сервера, как следующее: Securetoken: «<ваш генерированный токен>»

Хотите больше образцов кода для электронной почты HTML и электронной почты с вложениями? Проверьте полную статью в блоге MailTrap.