Полноценный почтовый ящик для своего домена на Cloudflare Workers

01 сен 2026
2,139
228
3
1 неделя

Каждый раз, когда я регистрирую новый домен для пет-проекта, встает один и тот же вопрос. Что делать с почтой? Покупать Google Workspace или Fastmail ради пары ящиков жалко, платить по шесть долларов за каждого пользователя в месяц не хочется. Поднимать собственный почтовый сервер с Postfix и Dovecot на виртуальной машине? Удовольствие сомнительное. Придется часами настраивать SPF, DKIM, DMARC, бороться с PTR-записями и надеяться, что IP-адрес хостинга не висит в спам-листах.

Недавно наткнулся на проект Mailflare. Автор решил эту дилемму красиво: он создал готовый почтовый клиент и бэкенд, который разворачивается прямо в аккаунте Cloudflare.

Mailflare

Что это такое

Mailflare превращает набор бессерверных сервисов Cloudflare в персональный почтовик. Здесь есть аккуратный веб-интерфейс, поддержка произвольного количества доменов, отправка и прием сообщений, поиск, вложения, общие ящики для команд и система гибких правил.

Вам не нужно администрировать Linux, обновлять пакеты или следить за состоянием демонов. Вся серверная часть работает на бессерверной инфраструктуре.

Реклама

Mailflare inbox

Как устроена архитектура

Вместо привычной базы данных и фоновых сервисов на сервере проект опирается на стандартные компоненты Cloudflare:

  1. Входящие письма перехватывает Cloudflare Email Routing. Сервис принимает MX-трафик домена и передает тело сообщения внутрь воркера.
  2. Логику обрабатывает рантайм Cloudflare Workers. Он запускается мгновенно и не тратит ресурсы в моменты простоя.
  3. Метаданные, структуру папок, пользователей и сами тексты сообщений Mailflare сохраняет в базу D1. Это распределенный SQLite, работающий на edge-узлах.
  4. Вложения и тяжелые файлы отправляются в бакет R2, совместимый с API Amazon S3.

Отправка исходящей почты идет через встроенный почтовый сервис Cloudflare. Данные остаются изолированными: письма лежат в вашей персональной базе D1, файлы сохраняются в вашем бакете R2, а доступ к ним есть только у вашего приложения.

Возможности веб-интерфейса

Снаружи Mailflare выглядит как привычный почтовый клиент вроде Gmail. Внутри есть функции, без которых трудно представить повседневную работу с почтой:

  • Форматирование текста, подписи, цепочки сообщений и автоответчик.
  • Поиск по содержимому, создание пользовательских папок, откладывание писем и архивация.
  • Общие ящики с делегированным доступом. Можно дать коллегам доступ к адресу поддержки или общей почте без передачи паролей от учетной записи.
  • Правила маршрутизации. Входящий поток можно автоматически сортировать по папкам, пересылать на личные адреса, блокировать или отклонять по заданным критериям.

В панели администратора доступны аудит действий, управление API-ключами, вебхуки на входящие события и выгрузка дампов базы данных.

Финансовая сторона вопроса

Принимать письма можно бесплатно. Бесплатных лимитов Cloudflare на обработку входящих запросов и хранение в D1 с запасом хватает для пары личных доменов и умеренной переписки.

Для отправки писем расклад другой. Чтобы включить исходящие сообщения через воркеры, Cloudflare требует платный тариф Workers Paid за 5 долларов в месяц. Если у вас уже есть эта подписка для других задач, Mailflare не потребует дополнительных денег. Если подписки нет, эти 5 долларов станут вашей единственной постоянной статьей расходов. При этом количество ящиков и подключенных доменов никто не ограничивает.

Установка и запуск

Самый простой путь — воспользоваться кнопкой быстрого развертывания из репозитория. Потребуется несколько шагов:

  1. Авторизоваться в Cloudflare и запустить деплой по ссылке из ридми проекта.
  2. Выпустить API-токен с правами на управление Email Routing и воркерами.
  3. Дождаться окончания сборки и перейти по выданному URL.
  4. Пройти мастер первоначальной настройки: он создаст администратора, проверит базу данных и настроит маршрутизацию для первого домена.

Для локальной разработки или кастомизации под себя проект можно запустить на рабочей машине. Код написан на TypeScript:

cp .dev.vars.example .dev.vars
npm install
npm run db:migrate:local
npm run dev

После старта открываете http://localhost:3000. В репозитории есть готовый сидер. Команда npm run db:seed наполнит локальную базу тестовыми цепочками писем, чтобы сразу оценить интерфейс в действии.

Нюансы и ограничения

Главное ограничение проекта связано с привязкой к платформе. Перенести код на свой VPS или в другое облако не получится без полной переделки бэкенда. Логика намертво завязана на D1, R2 и внутренний почтовый роутер Cloudflare.

Второй момент — работа с мобильными устройствами. Mailflare работает как веб-приложение (PWA). Здесь нет классических протоколов IMAP и SMTP, поэтому подключить ящик к стандартным клиентам вроде Apple Mail или Thunderbird не выйдет. Работать придется через браузер или мобильную версию PWA.

Кому подойдет

Mailflare отлично решает задачу корпоративной почты для пет-проектов, инди-разработчиков и небольших команд. Если вам надоело отдавать деньги крупным сервисам за каждый новый домен, но нет желания превращаться в системного администратора почтовых демонов, проект стоит протестировать. Взамен вы получаете чистый интерфейс, свои домены и полный контроль над базой данных.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.