По сути, в каждом веб-приложении необходимо отправить пользователю электронное письмо. В этой статье я хотел бы показать вам, насколько легко настроить Sendgrid и легко отправлять электронные письма пользователям. Мы настроим простой модуль, который будет обрабатывать нашу почту.

Установка SendGrid

Во-первых, нам нужен официальный пакет для отправки писем. Выполните следующую команду:

npm install @sendgrid/mail

Теперь у нас есть пакет узла Sendgrid для отправки электронных писем в вашем приложении узла.

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

Настройка Sendgrid

В моем приложении мне нравится создавать модуль отправки электронной почты в отдельном файле в папке utils и называть его emails.js

// emails.js
const SGmail = require('@sendgrid/mail')
SGmail.setApikey('xxxxx-xxxxx') // Input Api key or add to environment config

Я настоятельно рекомендую вам не жестко кодировать свой ключ API, вместо этого используйте переменную среды, ознакомьтесь с этим замечательным постом, чтобы начать работу, если вы не знаете, как использовать переменные конфигурации в node.js

Отправка почты

Давайте создадим простую функцию для отправки электронного письма

//emails.js
function newUserEmail(email, name){
 const message = { 
 to : email, //email variable
 from : { email : 'your email' , name: 'Name of user you want to  send email as'},
 message : `Hi there, ${name}`,
 subject : "This is a test Email"
 }
 SGmail.send(message).then((sent) => {
   // Awesome Logic to check if mail was sent
 })
}
module.exports = {
 newUserEmail
}

Позвольте мне объяснить каждый из ключей и значений в созданном выше объекте message.

to: адрес электронной почты получателя.

from: объект from содержит ключ email, который будет использоваться как адрес электронной почты отправителя, и name, который будет использоваться как имя отправителя.

message: содержание вашего электронного письма. Вы также можете использовать HTML-теги, и в этом случае ключ будет не message, а html.

subject: тема письма.

Заключение

Я уверен, вы видите, как легко отправлять электронные письма с помощью Sendgrid. Это может сэкономить много времени на разработку и отладку с минимальными настройками. Теперь вы можете импортировать функцию в любое место вашего кода и легко отправить письмо по электронной почте!

Свяжитесь со мной через [email protected] и подпишитесь на twitter.

✉️ Подпишитесь на рассылку еженедельно Email Blast 🐦 Подпишитесь на CodeBurst на Twitter , просмотрите 🗺️ План развития веб-разработчиков на 2018 год и 🕸️ Изучите веб-разработку с полным стеком .