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

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

К счастью, с Sendinblue отправка электронных писем — очень простая задача. Как платформа «программное обеспечение как услуга» (SaaS), Sendinblue предоставляет все, что вам нужно как владельцу бизнеса или разработчику, чтобы очень легко донести ваши электронные письма до ваших пользователей.

Что такое Сендинблю?

SendinBlue — это платформа «программное обеспечение как услуга» (SaaS), которая предлагает простое в использовании решение для маркетинга по электронной почте для малого, среднего и крупного бизнеса. SendinBlue предоставляет платформу, которая помогает компаниям развивать отношения со своими клиентами, в основном с помощью услуг электронной почты и SMS.

SendinBlue также предлагает API и инструменты, которые позволяют разработчикам автоматизировать и отправлять электронные письма и SMS. Эти инструменты легко интегрируются с Node.js и другими языками программирования для создания настраиваемых кампаний по электронной почте и SMS.

С помощью SendinBlue предприятия могут оптимизировать процессы коммуникации и более эффективно связываться с пользователями или клиентами.

Как получить учетные данные API SendinBlue

Чтобы использовать SendinBlue API и SDK, первым предварительным условием является учетная запись SendinBlue. SendinBlue обеспечивает простой процесс регистрации, и вы можете создать учетную запись на Страница регистрации SendinBlue.

Создайте учетную запись, введите необходимые данные и выберите подходящий план в процессе регистрации. Затем SendinBlue перенаправит вас на вашу панель управления, где вы сможете получить свои учетные данные API.

Чтобы получить учетные данные API, выполните следующие действия.

  1. Нажмите на название вашей организации в правом верхнем углу панели инструментов.
  2. Выбирать SMTP и API из выпадающего меню.
  3. Переключиться на Ключи API вкладку и нажмите кнопкуСгенерировать новый ключ API кнопка.
  4. В появившемся всплывающем окне дайте вашему ключу имя, скопируйте сгенерированную строку, а затем сохраните ее в безопасном месте.

Эта строка является вашим ключом API и вашими учетными данными, которые вы должны хранить бережно, чтобы они не попали в чужие руки.

Как создать систему отправки электронной почты в Node.js

Node.js не имеет встроенный пакет электронной почты, такой как Golang. Чтобы отправлять электронные письма, вам нужен внешний пакет, например узел почты или тот, который предоставляет SendinBlue.

Вам также потребуются практические знания Node.js и среды разработки Node.js на вашем компьютере.

Рассмотрим это простое приложение Node/Express с /waitlist конечная точка:

// сервер.js
константа экспресс = требовать('выражать');

// создаем сервер
константа сервер = экспресс();
константа порт = 3333;

server.listen(порт, () => {
консоль.бревно(`сервер прослушивает порт ${порт}`);
})

// создаем конечную точку списка ожидания
сервер.использовать('/ список ожидания', асинхронный (требование, разрешение) => {
пытаться {
константа пользователь = требуется.тело;

консоль.бревно(`${пользователь.полное имя} присоединился к списку ожидания`);
рез.статус(200).json({ сообщение: «Успешно присоединился к списку ожидания» })
} ловить (ошибка) {
консоль.error (ошибка)
рез.статус(500).json({ сообщение: 'Произошла ошибка' })
}
})

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

Первый шаг — установить SDK с помощью нпм или любой другой менеджер пакетов. Бегать npm установить sib-api-v3-sdk или пряжа добавить sib-api-v3-sdk в папке вашего проекта, чтобы добавить его в зависимости проекта.

После установки вы готовы начать отправлять электронные письма, добавив всего несколько строк кода. В более крупном проекте вы, вероятно, захотите изолировать функциональность электронной почты в отдельном файле. Однако для этой демонстрации вы можете продолжать использовать тот же сервер.js файл.

Импортировать сиб-апи-v3-SDK package и настройте клиент SendinBlue, как показано ниже:

константа СибАпи = требовать(«sib-api-v3-sdk»);

// создаем экземпляр нового клиента API SendinBlue
константа СибКлиент = СибАпи. АпиКлиент.экземпляр;

// Аутентификация
SibClient.authentications['API-ключ'].apiKey = процесс.env. SIB_API_KEY
 || 'ВАШ_API_KEY_ЗДЕСЬ';

Затем настройте некоторую конфигурацию и создайте функцию для отправки приветственных писем:

константа transactionEmailApi = новый SibApiSDK.TransactionalEmailsApi();

позволять smtpMailData = новый SibApiSDK.SendSmtpEmail();

константа отправитель = {
электронная почта: '[email protected]', // Ваш электронный адрес
имя: «Пример отправителя»,
};

константа Отправить список ожидания по электронной почте = асинхронный (данные пользователя) => {
}

транзакцияEmailApiВ переменной хранится объект, который позволяет отправлять электронные письма о транзакциях (так они называются в SendinBlue). smtpMailData переменная будет хранить данные электронной почты транзакции, которые вам понадобятся для отправки каждого электронного письма: получатель, содержимое и т. д.

Теперь к телу ОтправитьСписок ожиданияЭлектронная почта функция. Следующий код показывает, как должно выглядеть тело функции.

константа Отправить список ожидания по электронной почте = асинхронный (данные пользователя) => {
пытаться {
smtpMailData.sender = отправитель;

smtpMailData.to = [{
электронная почта: userData.email,
имя: userData.fullname
}];

smtpMailData.subject = «Вы в списке ожидания!»;

smtpMailData.params = {
'имя': userData.полное имя,
'твиттер': '@makeuseof'
};

smtpMailData.htmlContent = "

Привет, {{ params.name }}, "


+ "Добро пожаловать в список ожидания makeuseof.com. Мы сообщим вам"
+ "когда запустим. Пожалуйста, следите за нами в Твиттере "
+ "{{ params.twitter }}.

";

// отправить письмо
Ждите transactionEmailApi.sendTransacEmail (smtpMailData)
.затем((данные) => {
консоль.log (данные) // регистрируем идентификатор электронной почты
})
.ловить((ошибка) => {
консоль.error (ошибка)
бросатьновыйОшибка(ошибка) // обработка ошибок
})
} ловить (ошибка) {
консоль.бревно('Произошла ошибка...')
консоль.error (ошибка)
бросатьновыйОшибка(ошибка) // обработка ошибок
}
}

Большая часть этого кода заполняет ключевые свойства smtpMailData объект. По порядку это:

  • отправитель: Объект, содержащий два свойства: адрес электронной почты и имя. В приведенном выше коде используется фиктивный адрес электронной почты, но вы должны использовать реальный рабочий адрес электронной почты для рабочих приложений.
  • к: Это массив получателей электронной почты. Элементы этого массива — это объекты, определенные с данными (адрес электронной почты и имя) получателя электронной почты. У каждого сообщения может быть до 50 получателей. Технически ваше сообщение можно отправить более чем 50 адресатам одновременно, но это увеличивает риск того, что почтовые агенты сочтут его спамом.
  • предмет: Это тема письма для отправки.
  • параметры: Это дополнительные данные, которые вы можете использовать в различных частях письма (в основном в теме и содержании). Вы можете использовать значения из этого параметры объекта, заключив их в двойные фигурные скобки (т.е. {{ имя_параметра }}).
  • htmlКонтент: Это свойство определяет тело сообщения. Это помогает определить тело сообщения электронной почты, которое вы можете отформатировать с помощью HTML. У него также есть альтернатива, textContent, что делает тело сообщения простым.

Электронная почта может иметь больше свойств, и вы можете найти их все в Документация разработчика SendinBlue.

Наконец, sendTransacEmail метод транзакцияEmailApi отправляет электронное письмо и возвращает идентификатор электронного письма.

Осуществив ОтправитьСписок ожиданияЭлектронная почта функцию, вы можете вызвать ее в конечной точке списка ожидания. Конечная точка списка ожидания, указанная выше, теперь будет выглядеть так:

сервер.использовать('/ список ожидания', асинхронный (требование, разрешение) => {
пытаться {
константа пользователь = требуется.тело;

консоль.бревно(`${пользователь.полное имя} присоединился к списку ожидания`);

// вызов функции отправителя электронной почты
Ждите SendWaitlistEmail (пользователь)
рез.статус(200).json({ сообщение: «Успешно присоединился к списку ожидания» })
} ловить (ошибка) {
консоль.error (ошибка)
рез.статус(500).json({ сообщение: «Произошла внутренняя ошибка сервера» })
}
})

Вы можете запустить свое приложение и протестировать конечную точку списка ожидания в клиенте REST API или в интерфейсе вашего приложения. Вот пример тестового запроса от Postman.

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

Если вы проверите свой терминал, вы также увидите идентификатор сообщения печатается в консоли. Вы можете сохранить это значение в базе данных или журнале, чтобы идентифицировать конкретное электронное письмо.

Вы также можете проверить некоторые советы, как предотвратить попадание писем в спам получателей.

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

Отправка электронных писем в Node.js никогда не была проще

Приятно осознавать, что вы можете очень легко создать сервис для отправки электронных писем в Node.js.

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

Вы можете изучить эти функции, просмотрев их на портале для разработчиков и реализовав в своих приложениях Node.js.