Ми інтегруємо Postmark для швидкої доставки транзакційних листів на Laravel, React та Next.js. Втрата транзакційного листа — втрачене замовлення. Стандартні поштові сервери часто потрапляють у спам, а низька швидкість доставки вбиває UX. Postmark вирішує обидві проблеми: гарантує 99% доставляльності за секунди та автоматично підтримує репутацію відправника через SPF, DKIM і DMARC. У нас за плечима понад 7 років інтеграції поштових сервісів і десятки успішних проєктів з Postmark. Наш досвід: середній час доставки падає до 1–2 секунд, відмови знижуються на 30%. Як підтверджує офіційна документація Postmark, сервіс забезпечує доставляльність 99% і обробляє листи за секунди. Вартість інтеграції розраховується індивідуально залежно від обсягу листів і складності шаблонів, а економія на серверній інфраструктурі може бути суттєвою.
Які проблеми вирішує Postmark?
Postmark — це готовий ESP (Email Service Provider) з акцентом на швидкість і репутацію. На відміну від Amazon SES, не потребує складного налаштування інфраструктури. Перші 100 листів на місяць безкоштовно, що ідеально для стартапів. Ключові фічі:
- Шаблони з підтримкою Handlebars (версія 4) і локалізації.
- Webhook-сповіщення про статуси листа (delivered, bounced, opened, clicked).
- Розділення потоків: Transactional stream (гарантована доставка) та Broadcast stream (маркетингові розсилки).
- API з клієнтами для PHP, Node.js, Python.
Як Postmark порівнюється з альтернативами?
Postmark у 2-3 рази швидше Amazon SES за часом доставки. Нижче таблиця порівняння з основними конкурентами.
| Параметр |
Postmark |
Amazon SES |
SendGrid (Twilio) |
| Швидкість доставки |
< 2 сек |
1–5 сек |
2–10 сек |
| Шаблони |
Handlebars + локалізація |
Немає вбудованих |
Handlebars |
| Webhook |
Детальні події |
Тільки bounces |
Розширені |
| Безкоштовний ліміт |
100/міс |
62 000/міс |
100/міс |
| Захист репутації |
Автоматичний |
Ручне налаштування |
Автоматичний |
Postmark виграє у швидкості та простоті, але поступається в безкоштовному ліміті. Для проєктів до 10 000 листів на місяць він оптимальний.
Інтеграція в Laravel
Підключаємо пакет:
composer require wildbit/postmark-php
MAIL_MAILER=postmark
POSTMARK_TOKEN=your-server-token
// config/services.php
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
Після цього всі листи через Mail::to($user)->send(new OrderConfirmation($order)) будуть відправлятися через Postmark.
Відправка через API напряму
Приклад відправки через API (натисніть, щоб розгорнути)
$client = new \Postmark\PostmarkClient(env('POSTMARK_TOKEN'));
$result = $client->sendEmail(
'[email protected]',
$to,
"Замовлення #{$orderId} підтверджено",
$htmlBody,
$textBody,
null, // reply-to
null, // cc
null, // bcc
null, // headers
null, // attachments
null, // tracking opens
null, // tag
['order_id' => $orderId, 'user_id' => $userId] // metadata
);
Детальний опис усіх методів — у документації Postmark API.
Шаблони в Postmark
$client->sendEmailWithTemplate(
'[email protected]',
$to,
'order-confirmation', // alias шаблону
[
'order_id' => $orderId,
'order_total' => $orderTotal,
'items' => $items
]
);
Шаблони підтримують локалізацію, умовні конструкції та цикли — це скорочує розробку на 40%.
Як вибрати між Transactional та Broadcast streams?
Postmark ділить листи на два потоки: Transactional stream (транзакційний) та Broadcast stream (маркетинговий). Вони відрізняються швидкістю доставки, обробкою скарг та захистом репутації.
| Характеристика |
Transactional stream |
Broadcast stream |
| Призначення |
Транзакційні листи |
Маркетингові розсилки |
| Швидкість доставки |
Висока (одиниці секунд) |
Середня (хвилини) |
| Обробка скарг |
Автоматичне блокування |
Налаштовувана |
| Захист репутації |
Максимальний |
Стандартний |
Для підтверджень замовлень і скидання пароля використовуйте Transactional stream. Для новинних розсилок — Broadcast stream. Змішувати їх не можна, інакше репутація постраждає.
Як захистити репутацію відправника з Postmark?
Postmark автоматично налаштовує SPF, DKIM та DMARC. Для домену створюються спеціальні DNS-записи, які підтверджують, що листи надсилаються з вашого домену. Якщо отримувач скаржиться на спам, Postmark блокує подальші листи цьому користувачеві. Розділення потоків також захищає репутацію: скарги на маркетингові листи не впливають на доставку транзакційних.
Налаштування DNS — критичний етап. Без правильних записів листи можуть потрапляти у спам. Ми допоможемо з налаштуванням в рамках інтеграції.
Процес інтеграції
-
Аналіз (1 день): оцінка обсягів, вибір потоку (Transactional / Broadcast), налаштування DNS (SPF, DKIM).
- Проектування (1–2 дні): розробка шаблонів, схеми webhook, інтеграція з базою.
- Реалізація (2–3 дні): підключення API, тестування відправки, обробка помилок.
- Тестування (1 день): перевірка доставляльності через Postmark's Inbox Preview, A/B тести шаблонів.
- Деплой (0.5 дня): запуск у продакшен, моніторинг через Postmark dashboard.
Що входить у роботу?
- Налаштування Postmark: реєстрація домену, налаштування DNS-записів, створення серверів та API-токенів.
- Розробка шаблонів: Handlebars з локалізацією, адаптивна верстка.
- Інтеграція з сайтом: підключення через Laravel або пряме API, обробка webhook.
- Тестування: перевірка доставляльності, спам-тести, A/B тестування.
- Документація: опис API-методів, приклади коду, інструкція для розробників.
- Навчання: базове навчання команди роботі з Postmark.
Яких результатів очікувати?
Після переходу на Postmark час доставки зазвичай не перевищує 2 секунд, рівень відмов нижче 1%, відкриваність зростає на 15–20% за рахунок чистої репутації. Гарантуємо прозорий моніторинг — ви бачите кожну подію в реальному часі. Отримайте консультацію з інтеграції Postmark для вашого проекту. Замовте аудит поточної поштової системи — безкоштовно.
Інтеграція email розсилок: чому вона часто ламається?
Ми стикалися з тим, що тригерний лист через 10 хвилин після реєстрації конвертує в 4–5 разів краще, ніж той самий лист через 24 години. Це не маркетинговий міф — це механіка: поки користувач теплий, поки пам'ятає контекст. Але більшість інтеграцій з розсильниками зроблені так: форма сабмітиться → синхронний HTTP-запит до API → якщо API гальмує, користувач чекає 3 секунди → лист йде або не йде, ніхто не знає.
Якщо ви зіткнулися з втраченими листами або потраплянням у спам, замовте аудит існуючої інтеграції — ми знайдемо вузькі місця за 2 дні.
Провайдери та їх API
Unisender — російський провайдер, популярний у сегменті SMB. REST API, простий. Додавання контакту: importContacts, відправка транзакційного листа: sendEmail. Важливо: для транзакційних листів (підтвердження замовлення, скидання пароля) Unisender Go — окремий сервіс з іншим API та окремою ціною. Змішувати масові розсилки та транзакційні в одному потоці — погана ідея для репутації домену.
SendPulse — надає email, SMS, web push, Viber, Telegram-боти через єдиний API. Для проєктів, де потрібен омніканал, це зручно. Automation 360 — візуальний конструктор ланцюжків, можна запустити автоматизацію через API event. SDK для PHP (sendpulse/rest-api-php-sdk) підтримується, але оновлюється нерегулярно — краще використовувати напряму через Guzzle.
Mailchimp — вибір для міжнародної аудиторії та маркетингових команд, звиклих до екосистеми Mailchimp. Transactional email — через Mandrill (дочірній сервіс). Marketing API v3 для управління списками, тегами, кампаніями. Webhook для подій: відкриття, клік, відписка, bounce.
SMS. Для Росії: СМСЦ, МТС Exolve, Devino Telecom, SMS Aero. API у всіх схожий: метод send, параметри phone, message, sender (ім'я відправника — потрібно реєструвати окремо у оператора). Один нюанс: ім'я відправника має бути зареєстровано через агрегатора з договором — без цього SMS не відправляться на мережі МТС/МегаФон/Білайн.
| Провайдер |
Тип |
Транзакційні листи |
Маркетингові |
Особливості |
| Unisender |
email+SMS |
Unisender Go (окремо) |
так |
Популярний в РФ, простий REST |
| SendPulse |
email+SMS+web push+Viber |
так |
так |
Єдиний API, омніканальність |
| Mailchimp |
email |
Mandrill |
так |
Аналітика, міжнародний |
| Twilio |
SMS+email |
так |
ні |
Глобальний, дорогий в РФ |
Як побудувати інтеграцію, щоб не втрачати листи?
Розділяємо транзакційні та маркетингові потоки
Транзакційні листи (підтвердження замовлення, скидання пароля, статус доставки) — через окремий домен-відправник або субдомен tx.example.com. Маркетингові розсилки — через mail.example.com або news.example.com. Якщо маркетингова розсилка отримає багато скарг на спам, це не повинно зачепити репутацію транзакційного потоку. Згідно з документацією SendGrid, транзакційні повідомлення слід відправляти через виділений IP-пул для запобігання перехресному впливу.
Черга та retry
Будь-який виклик до email API — через чергу (Laravel Queue, Bull, Celery). Якщо Unisender повернув 503 — задача йде в retry через 5 хвилин, потім 15, потім 60. Після 5 невдалих спроб — у dead letter queue з алертом. Користувач при цьому вже отримав свій 200 OK і не знає про проблему. Завдяки цьому підходу bounce rate на проєктах знижується до 0.5%.
Приклад job для Laravel:
public function handle(): void
{
try {
$response = Http::post(config('services.unisender.email_url'), $this->params);
if ($response->failed()) {
$this->release(300); // retry через 5 хв
}
} catch (\Throwable $e) {
$this->release(300);
}
}
Шаблони
Зберігаємо шаблони в коді (Blade, Twig, React Email), не в інтерфейсі провайдера. Причини: версіонування через Git, preview у браузері без відправки, можливість тестування. Для складних шаблонів з динамічним контентом — react-email з експортом в HTML через @react-email/render.
Валідація та згоди
Перед додаванням контакту до списку — double opt-in (лист з підтвердженням). Зберігати факт підтвердження з timestamp у своїй БД. При відписці — синхронно відписуємо і у провайдера, і в своїй базі. Ігнорувати webhook відписки — прямий шлях до блокування акаунта у провайдера. Всі процеси відповідають ФЗ-152 про персональні дані.
Як налаштувати DKIM для домену-відправника?
DKIM дозволяє підписувати листи цифровим підписом, що підвищує довіру поштових серверів.
- Згенеруйте пару ключів (наприклад, через OpenSSL:
openssl genrsa -out private.key 2048).
- Опублікуйте публічний ключ у DNS як TXT-запис для селектора (наприклад,
mail._domainkey.tx.example.com).
- Вкажіть селектор у провайдера (SendGrid, Mailgun, Unisender).
- Перевірте командою
dig TXT mail._domainkey.tx.example.com.
Моніторинг доставності
Підключаємо webhook від провайдера на події bounce (жорсткий і м'який), spam_complaint, unsubscribe. Жорсткий bounce — негайно позначаємо email як невалідний у своїй БД, більше не відправляємо. М'який bounce 3 рази поспіль — те саме. Метрики: open rate, click rate, bounce rate, unsubscribe rate — дивимося не рідше разу на тиждень. Наші сертифіковані інженери налаштовують алерти в Grafana/Prometheus.
Чому важливо розділяти потоки?
Якщо відправити маркетингову розсилку з того ж домену, що й транзакційні листи, отримавши скарги на спам, ви ризикуєте заблокувати домен — і користувачі перестануть отримувати навіть підтвердження замовлень. SPF, DKIM, DMARC (Wikipedia SPF, Wikipedia DKIM) повинні бути налаштовані окремо для кожного потоку. Ми використовуємо субдомени з різними DNS-записами.
Обсяг робіт з інтеграції
- Аудит поточних потоків комунікації та репутації домену (SPF, DKIM, DMARC)
- Вибір провайдера та схеми: транзакційний vs маркетинговий трафік
- Налаштування DNS-записів SPF, DKIM, DMARC (Wikipedia DMARC)
- Розробка шаблонів листів (HTML + динамічний контент)
- Інтеграція з бекендом через черги та API
- Налаштування webhook для доставності та скарг
- Документація з експлуатації та навчання команди
- Гарантія доставності та підтримка після запуску
Терміни та вартість
| Сценарій |
Термін (робочі дні) |
Примітка |
| Базові транзакційні листи (один провайдер) |
5–7 днів |
Ціна розраховується індивідуально після аудиту |
| Тригерні ланцюжки + SMS + веб-пуши |
10–20 днів |
Ціна розраховується індивідуально після аудиту |
| Повна омніканальна автоматизація |
20–40 днів |
Ціна розраховується індивідуально після аудиту |
Вартість розраховується індивідуально після аудиту. Ми працюємо під ключ: від аналізу до моніторингу в продакшені. Отримайте консультацію інженера — оцінимо проєкт безкоштовно та скажемо точні терміни. Досвід більше 7 років в інтеграції поштових сервісів, реалізовано 50+ проєктів. Замовте безкоштовний аудит поточної інтеграції — отримайте звіт з рекомендаціями.