Чтобы отправлять электронные письма SendGrid с динамическими шаблонами в Node.js, вы можете использовать несколько методов. Ниже я объясню два распространенных подхода:
Метод 1: использование библиотеки SendGrid Node.js
-
Установите библиотеку SendGrid, выполнив следующую команду в проекте Node.js:
npm install @sendgrid/mail
-
Требовать библиотеку в своем коде:
const sgMail = require('@sendgrid/mail');
-
Установите ключ API SendGrid:
sgMail.setApiKey('YOUR_SENDGRID_API_KEY');
-
Создайте динамический шаблон с помощью редактора шаблонов SendGrid или API.
-
Отправить электронное письмо, используя динамический шаблон:
const msg = { to: 'recipient@example.com', from: 'sender@example.com', templateId: 'YOUR_TEMPLATE_ID', dynamicTemplateData: { subject: 'Hello, World!', name: 'John Doe', // Add other dynamic data here }, }; sgMail.send(msg) .then(() => console.log('Email sent')) .catch((error) => console.error(error));
Метод 2. Использование REST API SendGrid
-
Создайте динамический шаблон с помощью редактора шаблонов SendGrid или API.
-
Отправьте запрос HTTP POST к конечной точке API SendGrid, чтобы отправить электронное письмо с использованием динамического шаблона. Вы можете использовать такие библиотеки, как
axios
или встроенный модульhttps
в Node.js.Вот пример использования
axios
:const axios = require('axios'); const data = { personalizations: [ { to: [{ email: 'recipient@example.com' }], dynamic_template_data: { subject: 'Hello, World!', name: 'John Doe', // Add other dynamic data here }, }, ], from: { email: 'sender@example.com' }, template_id: 'YOUR_TEMPLATE_ID', }; axios.post('https://api.sendgrid.com/v3/mail/send', data, { headers: { 'Content-Type': 'application/json', Authorization: `Bearer YOUR_SENDGRID_API_KEY`, }, }) .then(() => console.log('Email sent')) .catch((error) => console.error(error));
Обратите внимание, что в обоих методах вам необходимо заменить 'YOUR_SENDGRID_API_KEY'
на ваш фактический ключ API SendGrid и 'YOUR_TEMPLATE_ID'
на идентификатор вашего динамического шаблона.п>