Email SDK: простой SDK для отправки транзакционных писем
Email SDK — это простой SDK для отправки транзакционных писем, совместимый с 23 адаптерами. Он решает проблему зависимости от конкретных почтовых провайдеров, позволяя легко менять их без значительных переделок в коде.
Платформа поддерживает 26 адаптеров, включая популярные API и SMTP. Основные фичи — это возможность добавлять количество повторных попыток, маршрутов резервирования, а также проверка поддержки полей, чтобы избежать потерь данных. Из интересного — поддержка пакетной персонализации и возможность отслеживания отправок через хук для логов и метрик. SDK написан на TypeScript и требует Node.js 20+ или Bun.
Имей в виду, что это серверный SDK, и нужно хранить ключи API безопасно — не в клиентском коде. Также проект всё ещё в разработке, так что возможны баги и несовместимости.
Проект Email SDK представляет собой библиотеку для приложений на TypeScript, которая позволяет отправлять транзакционные письма без привязки к конкретному провайдеру. Эта библиотека работает с твоими существующими учетными записями провайдеров и предоставляет множество функций для повышения надежности и удобства отправки.
Что делает Email SDK
Email SDK предлагает разработчикам единый клиент для работы с электронными письмами, поддерживающий множество провайдеров.
- Поддержка 25 различных API провайдеров плюс SMTP, всего 26 адаптеров.
- Возможность тестирования с помощью адаптеров, которые не обращаются к реальным провайдерам.
- Инструменты для наблюдаемости: логи, метрики и трассировки.
- Проверка поддерживаемых полей перед отправкой, чтобы избежать потери данных.
- Переменные для персонализации писем и запланированной отправки на стороне провайдера.
Установка
Для установки библиотеки достаточно выполнить команду:
npm install @opencoredev/email-sdk
Учти, что SDK предназначен только для серверной части и требует Node версии 20 или выше, либо Bun. Не добавляй ключи API провайдеров в клиентский код.
Пример использования
Вот простой пример, как использовать библиотеку для отправки письма:
import { createEmailClient } from "@opencoredev/email-sdk";
import { resend } from "@opencoredev/email-sdk/resend";
const email = createEmailClient({
adapters: [resend({ apiKey: process.env.RESEND_API_KEY! })],
});
await email.send({
from: "Acme ",
to: "user@example.com",
subject: "Welcome",
html: "It works.
",
});
CLI и дополнительные возможности
Email SDK включает в себя командную строку (CLI) для управления адаптерами и проверки конфигурации. Например, чтобы проверить адаптер, можно использовать команду:
npx --package @opencoredev/email-sdk email-sdk doctor --adapter resend
Полная документация доступна на сайте email-sdk.dev/docs. Ты можешь узнать больше о таких аспектах, как производственные конвейеры отправки, механизмы резервирования и проверки полей.
Ограничения
Стоит отметить, что SDK собирает анонимную статистику использования, которая включает в себя информацию о наименованиях адаптеров, исходах отправки и некоторых других метриках. Однако содержимое email, такие как адреса и сообщения, не собирается. Пользователи могут отключить сбор данных, установив соответствующие переменные окружения.
Открыть на GitHub: opencoredev/email-sdk →
RepoRadar