Налаштування SMTP-сервера для відправки email з сайту

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

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

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування SMTP-сервера для відправки email з сайту
Проста
від 4 годин до 2 робочих днів
Часті питання

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

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

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

  • 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

Налаштування відправлення email через SMTP-сервер

SMTP — базовий транспортний протокол для email. Використовується, коли немає бажання платити за ESP або коли додаток працює всередину корпоративної інфраструктури з власним поштовим сервером (Postfix, Exim, Microsoft Exchange).

Відправлення через Nodemailer

npm install nodemailer
npm install -D @types/nodemailer
import nodemailer from 'nodemailer';

const transporter = nodemailer.createTransport({
  host: process.env.SMTP_HOST,        // smtp.gmail.com, smtp.yandex.ru, etc.
  port: Number(process.env.SMTP_PORT ?? 465),
  secure: true,                        // true для 465, false для 587
  auth: {
    user: process.env.SMTP_USER,
    pass: process.env.SMTP_PASS,
  },
  // Для корпоративних SMTP з self-signed сертифікатами
  tls: {
    rejectUnauthorized: process.env.NODE_ENV === 'production',
  },
});

// Перевірка з'єднання при старті сервера
await transporter.verify();
console.log('SMTP ready');

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

async function sendEmail(params: {
  to: string | string[];
  subject: string;
  html: string;
  text?: string;
  attachments?: nodemailer.Attachment[];
}) {
  const info = await transporter.sendMail({
    from: `"Acme Support" <[email protected]>`,
    to: params.to,
    subject: params.subject,
    html: params.html,
    text: params.text,
    attachments: params.attachments,
    headers: {
      'X-Mailer': 'Acme App v2',
    },
  });

  return info.messageId;
}

// Приклад з PDF-вкладенням
await sendEmail({
  to: '[email protected]',
  subject: 'Ваш рахунок-фактура #INV-2026-042',
  html: invoiceHtml,
  attachments: [
    {
      filename: 'invoice-2026-042.pdf',
      content: pdfBuffer,
      contentType: 'application/pdf',
    },
  ],
});

Пул з'єднань для великого навантаження

При великій кількості листів створюємо pool замість одного трансортера:

const poolTransporter = nodemailer.createTransport({
  pool: true,
  maxConnections: 5,       // паралельних з'єднань
  maxMessages: 100,        // листів на з'єднання до переконнекту
  host: process.env.SMTP_HOST,
  port: 465,
  secure: true,
  auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS },
});

Популярні SMTP-провайдери

Провайдер SMTP host Порт Ліміт
Gmail smtp.gmail.com 465/587 500/день
Yandex smtp.yandex.ru 465 500/день
Mail.ru smtp.mail.ru 465 500/день
Mailgun smtp.mailgun.org 587 за тарифом
Brevo smtp-relay.brevo.com 587 300/день free

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

Налаштування SMTP з Nodemailer — 1–2 дня.