Налаштування email — [email protected]
Операційний runbook для підключення
[email protected](та сусідніх адрес) на наявному домені, що хоститься в Cloudflare. Виконується силами CEO, ~10 хвилин, безкоштовно для фази F&F.
Phase 53.9 · Останнє оновлення: 2026-05-08 · Провайдер: Cloudflare Email Routing (рекомендовано для F&F)
Навіщо цей гайд
Arc OS уже відправляє вихідну пошту (верифікація, скидання пароля) через Resend із From: [email protected] — див. shared/email.ts. Але вхідної пошти на домені немає взагалі: dig MX arc-os.co повертає порожньо, тож усе, що надіслане на [email protected], відбивається. Це ламає:
- Лінк
Supportу футері (mailto:[email protected]) - Очікування "відповісти із запитаннями" у флоу реєстрації
- Email-фолбек для баг-репортів від користувачів, які не відкривають FeedbackWidget
- Будь-який майбутній workflow "відповісти користувачу"
Цей гайд вмикає вхідну пошту без купівлі поштової скриньки.
Перед стартом
- Акаунт Cloudflare із зоною
arc-os.co(уже так — NS-записиamir.ns.cloudflare.com/becky.ns.cloudflare.com) - Особистий Gmail (або будь-яка робоча скринька), готовий приймати пересилання
- 10 хвилин
- НЕ вмикай крок верифікації домену в Resend, поки цей гайд не завершено — Cloudflare Email Routing публікує власні MX/SPF, і ти воюватимеш сам із собою
Фаза A — Cloudflare Email Routing (БЕЗКОШТОВНО, рекомендовано)
Крок 1 — Увімкни Email Routing у дашборді Cloudflare
- Відкрий https://dash.cloudflare.com → обери зону arc-os.co
- Лівий сайдбар → Email → Email Routing
- Натисни Enable Email Routing
- Cloudflare запропонує додати потрібні DNS-записи автоматично — погоджуйся. Буде записано:
MX 10 amir.mx.cloudflare.net.MX 20 isaac.mx.cloudflare.net.MX 30 linda.mx.cloudflare.net.TXT v=spf1 include:_spf.mx.cloudflare.net ~all
- Переконайся, що поруч із "DNS records configured correctly" зʼявилась зелена позначка
Крок 2 — Один раз підтверди адресу призначення (Gmail)
Cloudflare надсилає одноразовий верифікаційний лист на адресу, куди підеш пересилати. Перейди за посиланням.
Крок 3 — Додай правила пересилання
В Email Routing → Routes натисни Create address. Додай три:
| Кастомна адреса | Дія | Призначення |
|---|---|---|
[email protected] |
Forward to | <your-gmail>@gmail.com |
[email protected] |
Forward to | <your-gmail>@gmail.com |
[email protected] |
Forward to | <your-gmail>@gmail.com |
Опціонально: додай маршрут Catch-all → пересилання на Gmail. Ловить одруки на кшталт
[email protected].
Крок 4 — Надішли тест
echo "test from $(hostname) at $(date)" | mail -s "Email Routing test" [email protected]
Або просто надішли з телефона. Лист має приземлитись у Gmail протягом ~10 секунд, зі збереженим From: <whoever-sent-it> та To: [email protected].
Крок 5 — Відповідай із Gmail від імені [email protected] (опціонально, але зручно)
Cloudflare Email Routing — тільки для вхідної пошти: відправляти SEND з [email protected] не можна. Обхід через Gmail:
- Gmail → Settings → Accounts → Send mail as → Add another email address
- Адреса:
[email protected], Імʼя:Arc OS Team - Вихідний SMTP: власний SMTP Gmail (Cloudflare не проксує вихідну пошту)
- Підтверди код, який надішле Gmail — верифікаційний лист повернеться у Gmail через правило пересилання, тож це миттєво
Gmail дозволить писати листи з From: [email protected]. Одержувачі це бачитимуть. Reply-To повертається на [email protected] → ланцюжок пересилання → Gmail.
Крок 6 — Онови заголовок From: для листів реєстрації CRM
Уже правильно — shared/email.ts:32 за замовчуванням ставить Citadel <[email protected]>. Переконайся, що RESEND_API_KEY лежить у vault, а домен arc-os.co у Resend має статус verified у їхньому дашборді. Resend використовує окремий набір DKIM CNAME (*.resend._domainkey), який не конфліктує з MX/SPF від Email Routing.
Якщо хочеш, щоб підтвердження реєстрації теж приходили на адреси, що маршрутизуються через info@, — нічого міняти не треба: Resend лише відправляє, Cloudflare лише приймає.
Фаза B — DMARC (рекомендовано після перевірки Фази A)
DMARC захищає домен від спуфінгу. Коли і Cloudflare Email Routing (вхідна), і Resend (вихідна) працюють, додай TXT-запис для моніторингу:
Name: _dmarc.arc-os.co
Type: TXT
Value: v=DMARC1; p=none; rua=mailto:[email protected]; pct=100
p=none збирає звіти, нічого не відхиляючи. Після 2 тижнів чистих звітів підвищуй до p=quarantine, а потім p=reject.
Фаза C — Переростаєш пересилання → справжня скринька (пізніше)
Коли пересилань стане замало (окремі скриньки на роль, календарні запрошення, мобільні застосунки, надійна відправка від домену):
| Провайдер | Вартість | Час налаштування | Плюси |
|---|---|---|---|
| Zoho Mail Lite | $1/користувач/міс (або безкоштовно для ≤5 користувачів із брендингом Zoho) | 30 хв | Повноцінна скринька, мобільний застосунок, нативна відправка з info@ |
| Google Workspace | $6/користувач/міс | 30 хв | Найкращі у класі Gmail + Calendar + Drive + адмін-консоль |
| Fastmail | $5/користувач/міс | 30 хв | Фокус на приватності, без реклами, швидкий UI |
Шлях міграції з Cloudflare → скринька: видали правило пересилання для адреси, яку переносиш (наприклад, info@), онови MX-записи на нового провайдера, а Cloudflare Email Routing залиш увімкненим для адрес, які й далі хочеш пересилати (наприклад, bugs@ може лишатися на пересиланні назавжди).
Не мігруй передчасно. Обсяг пошти на фазі F&F рідко виправдовує когнітивні витрати на окрему скриньку.
Чекліст перевірки
Після завершення Фази A:
-
dig MX arc-os.coповертає 3 записи Cloudflare -
dig TXT arc-os.coміститьv=spf1 include:_spf.mx.cloudflare.net - Тестовий лист на
[email protected]приземляється в Gmail за <30 с - Лінк
Supportв AppFooter CRM працює (тепер веде наinfo@) - Success-стан FeedbackWidget згадує
[email protected] - Контактний рядок у README працює
- Домен
arc-os.coу Resend досі зелений у дашборді (немає DNS-конфлікту)
Після завершення Фази B:
-
dig TXT _dmarc.arc-os.coповертає політику - Перший DMARC-звіт отримано на
[email protected]протягом 24 год
Дії для CEO (не автоматизуються)
- Прямо зараз: відкрити Cloudflare → Email → увімкнути Email Routing → прийняти DNS → підтвердити Gmail-призначення → додати 3 правила пересилання. ~7 хвилин.
- Опціонально: налаштувати Gmail "Send mail as". ~3 хвилини.
- Опціонально: додати DMARC TXT-запис. ~1 хвилина.
Коли крок 1 виконано — дай знати, і ми закриваємо задачу #39.
Довідка
- Документація Cloudflare Email Routing: https://developers.cloudflare.com/email-routing/
- Верифікація домену в Resend: https://resend.com/docs/dashboard/domains/introduction
- Наявний email-хелпер CRM:
shared/email.ts - Наявний лінк у футері:
frontend/src/crm/components/AppFooter.jsx:17