Отправка массовых писем в Node.js с использованием SendGrid API
Опубликовано: 5 Августа, 2021
Что такое SendGrid API?
SendGrid - это платформа для отправки клиентам транзакционных и маркетинговых писем. Он обеспечивает масштабируемость, надежность и доставляемость, что является важным вопросом для организации.
Преимущества использования SendGrid API:
- Если вы используете Nodemailer с Gmail, вы можете отправлять только определенное количество писем в день .
- Кроме того, нет необходимости настраивать собственный SMTP-сервер .
- SMTP не обеспечивает возможности доставки , т.е. электронная почта может или не может быть отправлена.
Шаги по отправке писем с использованием API SendGrid:
- Настройка ключа API:
- Перейдите в панель управления sendgrid и нажмите кнопку создания ключа API .
- Назовите API-ключ как хотите, в этом руководстве мы назовем его node-mail.
Скопируйте API-ключ, так как из соображений безопасности вы не сможете его снова увидеть.
- Перейдите в панель управления sendgrid и нажмите кнопку создания ключа API .
- Настройка приложения node.js:
- Создайте пустой пакет NPM с помощью команды. ( Переданный флаг - y используется для использования значений по умолчанию в генераторе вместо того, чтобы задавать вопросы)
npm init -y
- Создайте файл с именем index.js и добавьте код шаблона.
index.js
// Importing http library
const http = require(
"http"
);
const PORT = 3000;
// Defining PORT
http.createServer((req, res) => {
// Output Hello World on HTML page
res.write(
"<h1>Hello World!</h1>"
);
res.end();
})
// Initializing server
.listen(PORT,() => console.log(`Server running on PORT : ${PORT}`));
- Теперь запустите код с помощью команды индекса узла и перейдите по ссылке 127.0.0.1:3000. Вы увидите результат.
- И в консоли
- Создайте пустой пакет NPM с помощью команды. ( Переданный флаг - y используется для использования значений по умолчанию в генераторе вместо того, чтобы задавать вопросы)
- Установка библиотеки SendGrid: Установите библиотеку SendGrid , выполнив следующую команду
нпм я @ sendgrid / mail
- Отправка писем с использованием библиотеки:
javascript
const http = require(
"http"
);
const PORT = 3000;
http.createServer((req, res) => {
// Initializing sendgrid object
const mailer = require(
"@sendgrid/mail"
);
// Insert your API key here
mailer.setApiKey(
"<your-api-key>"
);
// Setting configurations
const msg = {
to: [
"youremail@gmail.com"
,
"your.second.email@gmail.com"
],
from:
"noreply@example.com"
,
subject:
"Message sent for demo purpose"
,
html:
"<h1>New message from Geeksforgeeks</h1>
<p>Some demo text from geeksforgeeks.</p>
"
};
// Sending mail
mailer.send(msg,
function
(err, json) {
if
(err) {
console.log(err);
// Writing error message
res.write(
"Can't send message sent"
);
}
else
{
// Writing success message
res.write(
"Message sent"
);
}
});
res.end();
})
.listen(PORT, () => console.log(`Server running on PORT : ${PORT}`));
Теперь снова запустите приложение, используя индекс узла, перейдите к 127.0.0.1:3000 в браузере и проверьте оба своих электронных письма, вы увидите результат, как показано ниже.