До основного вмісту

Email Routing у Cloudflare: пошта на домені без сервера

Cloudflare · · 5 хв читання
Ілюстрація до статті «Email Routing у Cloudflare: пошта на домені без сервера»

Що таке Cloudflare Email Routing

Email Routing приймає листи на адресу вигляду info@example.com і пересилає їх у звичайну поштову скриньку — на Gmail, корпоративну пошту чи будь-яку іншу адресу. Поштовий сервер на своєму боці при цьому не потрібен: листи обробляє інфраструктура Cloudflare.

Сервіс закриває поширене завдання власника сайту: потрібна адреса на власному домені для форм зворотного зв'язку і візиток, а розгортати Postfix чи платити за поштовий тариф заради кількох адрес не хочеться.

Чим Email Routing відрізняється від повноцінного поштового сервера

Email Routing — це пересилання, а не зберігання і відправка листів від свого імені в загальному випадку.

МожливістьEmail RoutingПоштовий сервер або SMTP-хостинг
Приймання листів на адресу доменуТак, безкоштовноТак, потребує налаштування і тарифу
Зберігання листів на своєму боціНі, лише пересилання даліТак, є власна скринька і теки
Відправка листів з адреси доменуЛише через Email WorkersТак, повноцінний SMTP

Як увімкнути Email Routing і підключити домен

Розділ розташований у Dashboard в меню Email → Email Routing. Домен має вже керуватися через Cloudflare, як описано в статті про підключення сайту до Cloudflare. Після увімкнення сервіс сам додає потрібні MX- і TXT-записи в зону DNS.

example.com.  MX   10 route1.mx.cloudflare.net.
example.com.  MX   65 route2.mx.cloudflare.net.
example.com.  TXT  "v=spf1 include:_spf.mx.cloudflare.net ~all"

Коли в зоні вже були власні MX-записи від попередньої пошти, їх треба видалити — два набори MX одночасно призводять до втрати частини листів. Порядок роботи із записами зони описаний у статті про DNS-записи і режим Proxy.

Правила пересилання: конкретні адреси і catch-all

Правила пересилання налаштовуються в розділі Routing rules і працюють за однією зі схем:

  • окрема адреса на кожне правило: info@example.com пересилається на особисту пошту
  • правило catch-all: усі листи на неіснуючі адреси домену йдуть на одну скриньку
  • адреса для перевірки перед активацією: Cloudflare надсилає код підтвердження на цільову скриньку
  • кілька правил на одну й ту саму цільову адресу для різних відділів

Відправка листів через Email Workers

Коли потрібна не лише пересилка, а обробка листа кодом — наприклад, розбір теми і пересилання за правилами, яких немає в інтерфейсі, — для цього підключається Worker з обробником email.

export default {
  async email(message, env, ctx) {
    const subject = message.headers.get("subject") || "";
    if (subject.includes("invoice")) {
      await message.forward("billing@example.com");
    } else {
      await message.forward("info@example.com");
    }
  },
};

Докладніше про те, як пишуться і деплояться такі функції, — у статті про Cloudflare Workers.

Обмеження і на що звернути увагу

Перед перенесенням пошти домену варто врахувати особливості сервісу:

  • пряма відправка листів з адреси домену через звичайний SMTP-клієнт не підтримується
  • цільова скринька підтверджується один раз і має бути реальною, робочою адресою
  • при зміні MX-записів можлива пауза в доставці до оновлення кешу DNS у відправників
  • для відправки транзакційних листів із сайту потрібен окремий SMTP-провайдер, а не Email Routing

Підсумок: перелік дій для підключення

Email Routing закриває завдання з адресою на домені там, де не потрібна повноцінна поштова скринька зі зберіганням і відправкою.

  1. увімкнути Email Routing у Dashboard і підтвердити цільову адресу
  2. видалити старі MX-записи, якщо домен раніше обслуговувала інша пошта
  3. налаштувати правило для кожної потрібної адреси або catch-all на всі інші
  4. підключити Email Worker, якщо потрібне пересилання за умовами
  5. для відправки листів із сайту обрати окремий SMTP-сервіс

Часті питання

Чи можна надсилати листи з адреси домену через Email Routing, чи сервіс лише пересилає вхідні?

Email Routing лише приймає і пересилає листи на звичайну скриньку — відправка з адреси домену через стандартний SMTP-клієнт не підтримується сервісом. Щоб надсилати листи від імені домену, варто підключити Email Worker з кодом обробки або скористатися окремим SMTP-сервісом, наприклад для транзакційних листів із сайту чи форми зворотного зв'язку.

Після увімкнення Email Routing листи перестали приходити — у чому найчастіша причина?

Найчастіше причина в старих MX-записах від попередньої пошти, які лишилися в зоні DNS поруч із записами Email Routing — два набори MX одночасно призводять до втрати частини листів. Варто перевірити зону DNS, прибрати старі записи і зачекати, поки кеш DNS у відправників оновиться, перш ніж вважати проблему невирішеною.

Чи можна пізніше вимкнути Email Routing, не втративши пошту домену зовсім?

Так, сервіс вимикається в тому самому розділі Dashboard, де його вмикали. Після вимкнення автоматично додані MX- і TXT-записи варто прибрати вручну або замінити записами нового поштового провайдера — інакше домен лишиться без робочої пошти, допоки зона не буде приведена у відповідність новій схемі приймання листів.

Чи може пересилання приходити на звичайну скриньку Gmail?

Так, цільовою адресою може бути звичайна скринька на Gmail чи будь-якому іншому сервісі — технічних обмежень за провайдером немає. Єдина умова: адреса підтверджується один раз кодом від Cloudflare і має бути реальною, робочою скринькою, інакше правило пересилання просто не активується і листи й надалі губитимуться.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці