Інтеграція Resend для відправки транзакційних email

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Інтеграція Resend для відправки транзакційних email
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Інтеграція Resend для трансакційних email

Resend — сучасний email API з нативною підтримкою React Email, зрозумілою документацією та щедрим безплатним тарифом (3000 листів/місяць). Підходить для SaaS-стартапів та додатків, які хочуть швидко підключити надійну трансакційну пошту.

Встановлення та перша відправлення

npm install resend
import { Resend } from 'resend';

const resend = new Resend(process.env.RESEND_API_KEY);

// Проста відправлення
const { data, error } = await resend.emails.send({
  from: 'Acme <[email protected]>',
  to: ['[email protected]'],
  subject: 'Ласкаво просимо в Acme!',
  html: '<h1>Привіт!</h1><p>Дякуємо за реєстрацію.</p>',
});

if (error) {
  console.error('Email error:', error);
}

З React Email шаблонами

import { Resend } from 'resend';
import { render } from '@react-email/render';
import WelcomeEmail from './emails/WelcomeEmail';

const resend = new Resend(process.env.RESEND_API_KEY);

export async function sendWelcomeEmail(user: { email: string; name: string }) {
  const html = render(
    <WelcomeEmail name={user.name} loginUrl="https://app.acme.com/login" />
  );

  await resend.emails.send({
    from: 'Acme Team <[email protected]>',
    to: user.email,
    subject: 'Ласкаво просимо в Acme!',
    html,
  });
}

Батчева відправлення

// До 100 листів за один запит
await resend.batch.send([
  {
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Ваш рахунок готовий',
    html: invoiceHtml1,
  },
  {
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Ваш рахунок готовий',
    html: invoiceHtml2,
  },
]);

Webhooks для відстеження статусів

Resend відправляє webhooks при зміні статусу листа:

// POST /api/webhooks/resend
app.post('/api/webhooks/resend', express.raw({ type: 'application/json' }), async (req, res) => {
  const signature = req.headers['resend-signature'];
  // Верифікуємо підпис через svix
  const event = JSON.parse(req.body);

  switch (event.type) {
    case 'email.sent':
      await db.emailLogs.update({ emailId: event.data.email_id, status: 'sent' });
      break;
    case 'email.delivered':
      await db.emailLogs.update({ emailId: event.data.email_id, status: 'delivered' });
      break;
    case 'email.bounced':
      await db.users.markEmailBounced(event.data.to[0]);
      break;
    case 'email.complained':
      await db.users.unsubscribe(event.data.to[0]);
      break;
  }

  res.status(200).end();
});

Строки реалізації

Інтеграція з Resend та налаштування трансакційних email-шаблонів — 2–3 дня.