Содержание

Я настроил почту на своём домене без подписки Google Workspace

Mailu в Dokploy, DNS в Cloudflare, отправка через Resend из Lenny’s Product Pass, Cloud Identity Free и Apple Mail: моя настройка и исправленные ошибки.

Иллюстрация тушью: ноутбук, почтовый сервер, служба доставки и отдельный ключ учётной записи.

Мне понадобилась почта на своём домене: получать письма, отвечать с Mac и позже добавить ещё пару человек. VPS у меня уже был, а через Lenny’s Product Pass были доступны Resend и другие сервисы. Хотелось обойтись этим набором, без новой подписки на каждый ящик. В итоге почта заработала на Mailu под Dokploy. Правда, по дороге пришлось разобраться с сетью контейнеров, сертификатами и тем, почему Google-аккаунт с нужным адресом ещё не означает наличие Gmail.

1. Сначала я посмотрел на то, что уже оплачено

Домен был зарегистрирован в Name.com. На первых порах им должны были пользоваться два-три человека. Мне нужен был обычный почтовый ящик: входящие, папки, отправленные сообщения и возможность нажать «Ответить». Читать всё это я хотел в штатной Почте на Mac.

В статье я использую example.com, адрес tim@example.com и условные названия проекта и сервисных файлов. Настоящие названия заменены, а настройки и история исправлений взяты из моей установки.

Часть сервисов у меня появилась через Lenny’s Product Pass. Для этой задачи были интересны Resend Transactional Pro, Railway Hobby и Google AI Pro. Отдельно уже был оплачен VPS в Hostinger, на котором стоял Dokploy. С этого и начался выбор: можно ли собрать почту из того, к чему у меня уже есть доступ?

На момент написания Product Pass предлагает год доступа к этим трём продуктам. Условия зависят от сервиса и уровня подписки, предложения могут закончиться. Продление рассылки не запускает уже использованный годовой оффер заново. Поэтому дальше речь о моей исходной ситуации; перед повторением стоит посмотреть текущие условия.

В результате обязанности разделились так: Mailu принимает и хранит письма, Resend доставляет исходящие, Cloudflare обслуживает DNS. Google понадобился позже, для отдельной управляемой учётной записи с тем же адресом.

Настраивал я всё вместе с Codex: через браузер работали с панелями, через API и доступ к серверу — с развёртыванием и проверками. Решения по аккаунтам и инфраструктуре принимал я, пароли вводил там, где это требовалось. Установка и описанные проверки выполнены 12 сентября 2026 года.

Где здесь расходы

Дополнительную подписку на почтовые ящики я не подключал. Но домен, VPS и подписка, дающая доступ к Product Pass, у меня уже были оплачены.

КомпонентДля чего используюРасходы в моей схеме
Name.comРегистрация и продление доменаУже оплаченный домен
Cloudflare FreeАвторитетные DNS-серверыНовая подписка не нужна
Hostinger VPSХранение почты и работа сервисовУже оплаченный сервер
DokployУправление контейнерамиУже установлен
MailuПочтовый сервер, админка, веб-почтаПО с открытым исходным кодом
Resend Transactional ProДоставка исходящихУже активированный оффер Product Pass, лимиты сохраняются
Lenny’s Product PassДоступ к предложениям партнёровВходит в подходящую платную подписку на рассылку
Cloud Identity FreeУправляемые Google-аккаунтыБесплатная редакция
Apple MailПочтовый клиентУже есть на Mac

Если начинать без этой инфраструктуры, придётся посчитать сервер, домен, отправку, резервные копии и своё время. У меня исчезла необходимость покупать ещё один сервис для ящиков, зато появилось обязательство обслуживать почтовый сервер.

2. Почему я выбрал Mailu, а отправку оставил Resend

В Mailu уже собраны приём SMTP, доступ по IMAP, управление пользователями, фильтрация спама и веб-почта. Можно было собрать Postfix, Dovecot и остальные компоненты отдельно, но тогда мне пришлось бы самому поддерживать больше конфигурации.

В моей установке используется ветка Mailu 2024.06: Roundcube для веб-почты, Rspamd для спама, ClamAV и Oletools для проверок, Unbound как DNS-резолвер. За основу я взял конфигурацию из официальной инструкции Mailu для Compose.

Resend уже был доступен через Product Pass. Я подключил его как SMTP-реле: клиент авторизуется в Mailu и передаёт письмо, а Mailu отправляет его через Resend. Это позволило использовать существующую инфраструктуру доставки. Проверенные отправители, записи аутентификации, лимиты аккаунта и содержимое писем всё равно остаются моей заботой. Успешная передача по SMTP сама по себе не обещает попадания во входящие.

Исходящие сообщения при этом обрабатывает внешний провайдер. Я храню ящики у себя, но не называю всю цепочку доставки независимой от сторонних сервисов.

Внешний отправитель доставляет письмо по SMTP на порт 25 в Mailu на VPS, оно попадает в хранилище и читается в Apple Mail по IMAP на порту 993. Исходящее письмо клиент передаёт Mailu по SMTP на порт 465 или 587, Mailu отправляет его через SMTP-реле Resend на порт 587, а Resend доставляет серверу получателя.Внешний отправитель доставляет письмо по SMTP на порт 25 в Mailu на VPS, оно попадает в хранилище и читается в Apple Mail по IMAP на порту 993. Исходящее письмо клиент передаёт Mailu по SMTP на порт 465 или 587, Mailu отправляет его через SMTP-реле Resend на порт 587, а Resend доставляет серверу получателя.
Схема 1. Путь письма через Mailu и Resend

Cloudflare Email Routing подошёл бы для пересылки на существующий адрес. Мне же требовался отдельный IMAP-ящик с папками. Приём писем в Resend я тоже оставил выключенным: входящие на мой домен должен обслуживать Mailu.

Railway я рассматривал, но остановился на VPS. На нём я уже управлял сетью, постоянными каталогами и Dokploy. Для почты мне было проще проверить доступность портов и размещение данных именно там. Сравнительных испытаний Mailu на Railway я не проводил.

3. Перенёс DNS в Cloudflare

Регистратором остался Name.com. Я заменил nameservers домена на пару, которую выдал Cloudflare, и этого хватило для управления DNS в новой панели. Трансфер регистрации — отдельная операция; к моменту настройки почты он ещё не был завершён.

Порядок действий был такой:

  1. Добавил домен в Cloudflare на тарифе Free.
  2. Сверил импортированные записи со старой зоной. Сохранил всё, что использовали сайт и другие сервисы.
  3. Скопировал два nameserver, назначенных именно моей зоне.
  4. Указал их в настройках домена в Name.com.
  5. Дождался статуса Active в Cloudflare и проверил публичные ответы DNS.

Nameservers нужно брать из своей панели. Чужая пара из инструкции для вашего домена не подходит.

Если на домене уже включён DNSSEC, при смене DNS-провайдера нужно разобраться и с DS-записью у регистратора. Следуйте инструкции миграции Cloudflare: устаревшая DS-запись может сломать разрешение домена, даже если остальные записи выглядят правильно.

$ dig +short NS example.com
$ dig +short A mail.example.com
$ dig +short MX example.com

Во всех командах замените example.com на свой домен, а YOUR_PUBLIC_IPV4 — на публичный IPv4 сервера.

Записи для входящих писем

ТипИмя в CloudflareЗначениеПриоритетПроксирование
AmailYOUR_PUBLIC_IPV4—DNS only
MX@mail.example.com10Не применяется

Для mail нужно серое облако, DNS only. Обычный веб-прокси Cloudflare не пропускает используемые здесь SMTP- и IMAP-подключения. Такая же схема приведена в документации Cloudflare по почтовым записям.

Сам MX я переключил после запуска Mailu и создания ящика. Если почта уже приходит к другому провайдеру, сначала подготовьте новый сервер. Две MX-записи разных провайдеров не заставляют их хранить одну общую переписку.

4. Развернул Mailu через Dokploy

Перед установкой проверил фактические ресурсы VPS: 2 vCPU, 8 ГБ RAM и диск 100 ГБ. На этой машине описанные проверки прошли. Сколько активных пользователей она выдержит, я не измерял.

Кроме свободной памяти и диска нужно проверить занятые порты, существующие Docker-сети и правила хостинга. Входящий TCP-порт 25 должен быть доступен извне. Resend помогает с исходящей доставкой, но чужим почтовым серверам всё равно нужно подключаться к VPS, чтобы передать входящие.

ПортНазначение
25/TCPПриём от других почтовых серверов
465/TCPОтправка из клиента с авторизацией и TLS с начала соединения
587/TCPОтправка из клиента с авторизацией и STARTTLS
993/TCPIMAP через TLS
443/TCPВеб-почта и админка через Traefik

Я использовал IPv4. AAAA-запись имеет смысл публиковать после проверки маршрутизации IPv6, файрвола и адресов, на которых слушает Mailu.

Базовые файлы

Начал с генератора конфигурации Mailu. Он выдаёт Compose-файл и файл переменных. Полную конфигурацию лучше получать для выбранной версии там: небольшие фрагменты ниже показывают мои изменения, но не заменяют весь набор файлов.

В Dokploy я создал отдельный проект для почты, выбрал окружение production и добавил Compose-сервис Mailu. В примерах проект называется Team Mail, а каталог постоянных данных — /opt/team-mail. Рабочая конфигурация и секретные переменные хранятся в Dokploy.

ПараметрЗначение в примере
Почтовый доменexample.com
Публичное имя сервераmail.example.com
Веб-почтаRoundcube
АдминкаВключена
Постоянные данные/opt/team-mail
Внутренняя подсеть192.168.203.0/24
Адрес резолвера192.168.203.254
ИсходящиеResend с авторизацией

Подсеть не должна пересекаться с существующими сетями Docker и хоста. Адрес Unbound и подсеть в таблице соответствуют моей установке.

Отдельно пришлось убедиться, что переменные попадают внутрь сервисов. Файл Compose .env подставляет значения в конфигурацию, но сам по себе не передаёт каждую переменную каждому контейнеру. Ссылки env_file в сгенерированном Compose должны указывать на файл, который действительно предоставляет Dokploy. Проверяйте итоговую конфигурацию, не выводя секретные значения в общий лог.

Где сломалась сеть

Первая попытка запуска упёрлась в обработку Compose со стороны Dokploy. Сохранённая конфигурация выглядела ожидаемо, но фактические подключения контейнеров отличались.

У Unbound пропал фиксированный IP. У Rspamd после отключения от общей сети Dokploy потерялось подключение к внутренней сети default. В результате появились жалобы на DNS, а антиспам ждал доступности admin-сервиса.

Исправление вынес в отдельный network-override.yml:

services:
  resolver:
    networks:
      default:
        ipv4_address: 192.168.203.254

  antispam:
    networks:
      default: {}

Здесь предполагается, что в основном файле уже есть сеть default с нужной подсетью, а сервисы называются resolver и antispam. Сам по себе этот фрагмент полноценную сеть Mailu не создаёт.

Override лежит рядом с каталогом code в структуре Dokploy и подключается при каждом деплое. В поле пользовательской команды у меня указан эквивалент следующей строки:

compose -p YOUR_DOKPLOY_APP_NAME -f docker-compose.yml -f ../network-override.yml up -d --remove-orphans

При ручном запуске из того же рабочего каталога команда начинается с docker compose. Имя проекта нужно взять у существующего Compose-проекта Dokploy: новое имя приведёт к созданию ещё одного набора контейнеров.

Доступ к общей dokploy-network для веб-трафика нужен только front-сервису Mailu. Внутренние компоненты остаются в необходимых им сетях. После исправления я проверил реальные подключения контейнеров: одного взгляда на текст в редакторе уже было недостаточно.

Перед применением такого обхода посмотрите, какие сети получились в вашей установке. Это исправление конкретного поведения, с которым столкнулся я. У разных версий и конфигураций результат может отличаться; отправная точка — документация Dokploy по Compose.

5. Развёл HTTPS сайта и TLS почтовых подключений

На VPS уже работал Traefik из Dokploy. Он занимал порты 80 и 443 и обслуживал сайты. Если отдать эти же порты Mailu, получится конфликт.

Я оставил веб-HTTPS на Traefik. Запросы к mail.example.com он передаёт на внутренний порт 80 контейнера front. Почтовые порты Mailu слушает напрямую.

После этого понадобилось отдельно передать сертификат в Mailu. Исправная страница веб-почты ещё ничего не говорит о сертификате, который клиент получит на IMAP-порту 993.

Фрагмент переменных для этой схемы:

DOMAIN=example.com
HOSTNAMES=mail.example.com
TLS_FLAVOR=mail
REAL_IP_HEADER=X-Forwarded-For
REAL_IP_FROM=YOUR_TRAEFIK_CONTAINER_IP

В YOUR_TRAEFIK_CONTAINER_IP подставляется фактический адрес доверенного Traefik в общей Docker-сети. После пересоздания прокси его нужно сверить снова. Доверие ко всем адресам я не включал.

Для сертификата настроил небольшую службу синхронизации:

  1. Она читает хранилище ACME-сертификатов Traefik на хосте.
  2. Выбирает только сертификат и приватный ключ для почтового имени.
  3. Записывает их как cert.pem и key.pem в каталог сертификатов Mailu. Доступ к приватному ключу ограничен.
  4. Перезапускает front только при изменении содержимого сертификата или ключа.
  5. Запускается каждый час по таймеру systemd.

В примерах файлы находятся в /opt/team-mail/certs, таймер называется team-mail-cert.timer. Первичная синхронизация выполняется до подключения клиентов, чтобы Mailu сразу получил сертификат.

Это моя адаптация к существующему Traefik. В руководстве Mailu по reverse proxy описан другой вариант: выпуском сертификатов занимается сам Mailu, а прокси использует proxy protocol. На новом сервере стоит сначала прочитать эту инструкцию и выбрать владельца сертификата. В моей схеме служба копирования стала ещё одним компонентом, за которым нужно следить.

Проверять нужно сами почтовые подключения:

$ openssl s_client -connect mail.example.com:993 -servername mail.example.com -verify_hostname mail.example.com -verify_return_error </dev/null
$ openssl s_client -connect mail.example.com:465 -servername mail.example.com -verify_hostname mail.example.com -verify_return_error </dev/null
$ openssl s_client -starttls smtp -connect mail.example.com:587 -servername mail.example.com -verify_hostname mail.example.com -verify_return_error </dev/null

Ожидается доверенная цепочка и сертификат для указанного имени. Если проверка не проходит, сначала исправляется серверная сторона.

6. Подключил Resend и настроил записи отправителя

В Resend добавил домен, перенёс предложенные записи в Cloudflare и дождался подтверждения. Для отправки создал ключ с правами Sending access, ограниченный этим доменом. Здесь я называю его Team Mail SMTP.

В закрытой конфигурации Mailu используются такие переменные:

RELAYHOST=[smtp.resend.com]:587
RELAYUSER=resend
RELAYPASSWORD=YOUR_DOMAIN_SCOPED_RESEND_KEY
OUTBOUND_TLS_LEVEL=secure

Скобки вокруг имени хоста и порт соответствуют формату Mailu. В качестве пароля используется API-ключ Resend. Он хранится на сервере; в статью, публичный репозиторий и настройки почтового клиента его переносить не нужно. Описание параметров есть у Mailu, а параметры SMTP и TLS — у Resend.

Итоговый набор почтовых DNS-записей

ТипИмяЗначение или источник
AmailIPv4 VPS, DNS only
MX@mail.example.com, приоритет 10
TXTresend._domainkeyПубличный DKIM-ключ из Resend
MXsendfeedback-smtp.eu-west-1.amazonses.com, приоритет 10
TXTsendv=spf1 include:amazonses.com ~all
TXT@v=spf1 include:amazonses.com -all
TXT_dmarcv=DMARC1; p=none; rua=mailto:tim@example.com

DKIM-ключ и региональный endpoint нужно брать из своей панели Resend. В таблице показаны роли записей и регион, использованный в моей установке.

Здесь два MX, но они относятся к разным именам. Корневой MX направляет обычную входящую почту в Mailu. MX на send обслуживает return-path и обратную связь доставки Resend. Если заменить корневой MX на feedback-endpoint, входящая переписка уйдёт не туда.

SPF проверяется по домену отправителя в SMTP-конверте. Поэтому SPF на send выполняет отдельную работу: одна запись в корне её не заменяет. DKIM добавляет доменную подпись, а DMARC проверяет согласованность SPF или DKIM с доменом в видимом поле From.

Корневой SPF в таблице относится к моей схеме отправки. Если у вас есть другие отправители, их нужно учесть в политике соответствующего DNS-имени. На одном имени должна быть одна SPF-запись. Добавление второй строки v=spf1 рядом с существующей не объединяет их разрешения.

DMARC я начал с p=none, чтобы собирать отчёты. Такая политика сама по себе не требует отклонять сообщения или отправлять их в карантин. Прежде чем переходить к enforcement, нужно проверить всех легитимных отправителей.

7. Создал ящик и проверил переписку с внешней почтой

Первый ящик получил права администратора Mailu. Для postmaster@example.com и abuse@example.com я сделал алиасы на него: служебные письма попадают в уже существующий ящик.

ИнтерфейсАдрес
Roundcubehttps://mail.example.com/webmail/
Админка Mailuhttps://mail.example.com/admin/

Доступы сохранил в 1Password, после чего временный локальный файл с ними был удалён. В документации остались пути, названия служб и инструкции по восстановлению; секреты хранятся отдельно.

Дальше проверил весь путь снаружи VPS. Во вводной инструкции Mailu тоже предлагается проверять доставку и аутентификацию через внешний сервис.

ПроверкаРезультат моей установки
Вход в RoundcubeУспешно
IMAP и SMTP с паролемУспешно
Письмо с доменного адреса в мой GmailПопало во входящие
Ответ из GmailПришёл в Mailu
Аутентификация исходящего тестового письмаSPF, DKIM и DMARC прошли
Попытка отправить внешнему получателю без авторизации554 Relay access denied
Письмо несуществующему локальному пользователю550 User unknown
Существующий сайт на VPSПо-прежнему HTTP 200

Для повторения отправьте короткое письмо на внешний аккаунт, который контролируете, и ответьте с него. Посмотрите результаты аутентификации полученного письма, затем найдите ответ в веб-почте. Обмен между двумя локальными ящиками не проверяет этот маршрут.

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

8. Добавил Google-аккаунт с тем же адресом

После почты понадобился ещё и управляемый Google-аккаунт. Хотелось использовать tim@example.com в сервисах с кнопкой входа через Google, сохранив почту на VPS.

Для этого подошла Cloud Identity Free. Я начал с инструкции Google по регистрации бесплатной редакции; она ведёт на страницу регистрации Identity Basic.

Указал данные организации, подходящую страну и отдельный существующий контактный адрес. Первым администратором стал аккаунт с адресом tim@example.com. Страну нужно указывать свою, соответствующую организации или деятельности.

В процессе регистрации встречались логотип и формулировки Google Workspace. Я проверил именно название подключённой подписки в Admin Console, а не стал судить по оформлению формы.

Для подтверждения домена Google выдал TXT-значение. Я добавил отдельную запись в корень зоны Cloudflare:

Type: TXT
Name: @
Content: google-site-verification=YOUR_GOOGLE_VERIFICATION_VALUE

Затем вернулся в Google и нажал Verify. Домен подтвердился, а в панели появились Cloud Identity Free, статус Active, Free plan и 50 доступных лицензий. Это показания моей организации после регистрации. MX-записи продолжили указывать на Mailu.

Один адрес, две независимые учётные записи

Адрес tim@example.com связан с учётной записью Mailu и с Google Cloud Identity. Учётная запись Mailu даёт веб-почту и Apple Mail, а Google Cloud Identity даёт вход через Google в совместимых сервисах.Адрес tim@example.com связан с учётной записью Mailu и с Google Cloud Identity. Учётная запись Mailu даёт веб-почту и Apple Mail, а Google Cloud Identity даёт вход через Google в совместимых сервисах.
Схема 2. Один адрес, две учётные записи

Пароль Mailu открывает почтовый ящик. Пароль Google или настроенный для него passkey открывает Google-аккаунт. Создание одной записи не создаёт вторую и не синхронизирует их пароли.

В Cloud Identity Free есть базовое управление каталогом пользователей, средства двухэтапной проверки и SAML SSO для совместимых приложений. Gmail в эту редакцию не входит. Автоматическое создание пользователей в сторонних приложениях относится к Premium. Границы перечислены в сравнении редакций Google.

Аккаунт и подписка у меня проверены. Вход во все сторонние сервисы я не тестировал и корпоративный SSO с конкретным приложением ещё не связывал. Приложение должно поддерживать нужный способ входа; принудительный корпоративный SSO может требовать отдельного тарифа на его стороне.

Личные подписки Google и уже существующие аккаунты в других сервисах остаются привязаны к прежним учётным записям. Новый адрес не переносит покупки автоматически.

Для следующего сотрудника нужны три отдельных действия: создать ящик в Mailu, создать соответствующего пользователя Google и пригласить его в рабочие сервисы. При отключении сотрудника придётся пройти по тем же системам. Блокировка Google-аккаунта не удаляет почту в Mailu и не обязательно завершает все сессии, которые уже выдал сторонний сервис.

9. Подключил ящик к Почте на Mac

В Apple Mail я открыл добавление аккаунта и выбрал Other Mail Account. Провайдером для этого ящика служит Mailu, хотя отдельно существует Google-аккаунт с таким же адресом.

Ввёл полный email и пароль Mailu из 1Password. Входящий и исходящий серверы одинаковые: mail.example.com.

НастройкаЗначение
Тип аккаунтаIMAP
Имя пользователяПолный адрес, например tim@example.com
ПарольПароль ящика Mailu
Входящий серверmail.example.com
Порт и защита входящих993, SSL/TLS
Исходящий серверmail.example.com
Порт и защита исходящих465, SSL/TLS; либо 587, STARTTLS
Авторизация исходящихОбязательна, с теми же данными ящика

Отправка из Apple Mail тоже идёт в Mailu. Уже сервер использует свой ключ Resend. Раздавать ключ на весь домен отдельным почтовым клиентам не требуется.

Автоматическая проверка соединения затянулась, и я отдельно проверил сервер. Защищённые порты отвечали; спустя некоторое время добавление аккаунта завершилось. Я оставил включённой только Почту, отключил Заметки, и ящик появился в боковой панели.

Сообщения загрузились. В Window → Connection Doctor обе строки, IMAP и SMTP, показали успешное подключение и вход. Дополнительное тестовое письмо именно из Apple Mail на этом этапе я не отправлял: внешний обмен до этого был проверен через веб-почту и сервер.

При создании письма можно выбрать доменный адрес в поле From. Папки ящика доступны и через IMAP, и через Roundcube.

10. Что теперь нужно обслуживать

После успешного запуска у меня остались обычные задачи эксплуатации: место на диске, сертификаты, обновления, ошибки доставки и доступы пользователей.

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

СимптомЧто проверять сначала
Не приходит новая почтаКорневой MX, A-запись mail, входящий порт 25, логи Mailu
Приём работает, отправка нетОчередь SMTP, ключ и статус домена Resend, ошибки TLS реле
Веб-почта открывается, IMAP ругается на сертификатФайлы сертификата Mailu и таймер синхронизации
Rspamd ждёт adminВнутреннюю сеть и Compose override
Mailu жалуется на резолверАдрес Unbound и подключение к сети
Ошибки начались после деплояИмя Compose-проекта, каталоги, сети и IP прокси

В Hostinger уже было включено еженедельное резервное копирование VPS. Отдельные ежедневные копии почты я за время установки не настроил и пробное восстановление не проводил. Если откатиться к недельному снимку, писем, пришедших после его создания, в нём не будет. Интервал копирования нужно выбирать по допустимой потере переписки.

Для восстановления нужны постоянные данные Mailu, Compose-конфигурация, приватные переменные, сетевой override и настройка синхронизации сертификатов. Независимая копия вне VPS и согласованное состояние данных во время копирования тоже относятся к этой задаче.

Пока не проверено восстановление ящика и его папок в отдельном окружении, у меня есть работающая установка и расписание бэкапов. Проверенного времени и порядка восстановления у меня ещё нет.

Источники

FAQ

Можно ли сделать почту на своём домене без Google Workspace?

Да. У меня ящики работают в Mailu на уже оплаченном VPS, а исходящие уходят через Resend Transactional Pro, доступный по Lenny’s Product Pass. Новая подписка Workspace не понадобилась. При этом нужно учитывать домен, сервер, подписку на рассылку, срок оффера, лимиты отправки и обслуживание.

Входит ли Gmail в Google Cloud Identity Free?

Нет. Эта редакция даёт управляемые Google-аккаунты на вашем домене и базовые средства управления входом. Google-аккаунт и ящик Mailu с одинаковым адресом остаются независимыми, с отдельными паролями. Входящая почта идёт на сервер, указанный в MX.

Можно ли отправлять обычные ответы из Apple Mail через Resend?

В моей схеме Apple Mail отправляет письмо в Mailu с логином и паролем ящика. Затем Mailu передаёт его через SMTP Resend, используя ограниченный ключ, который хранится на сервере. Для доставки сохраняются требования к подтверждению домена, лимиты и правила Resend.

Какие записи нужны в Cloudflare для Mailu?

Для приёма нужна A-запись почтового имени в режиме DNS only и корневой MX, указывающий на него. Для отправки добавляются записи вашего провайдера: у меня это DKIM и записи поддомена send из Resend, SPF для соответствующих имён и DMARC. Значения нужно брать из своей панели.

Поможет ли Resend, если хостинг блокирует порт 25?

SMTP-реле на порту 587 позволяет отправлять почту без исходящего подключения к порту 25. Но оно не решает блокировку входящего порта 25 на VPS: этот порт нужен другим серверам для доставки в Mailu. У хостинга нужно проверить оба направления отдельно.

Какой пароль и серверы указывать в Почте на Mac?

Полный адрес ящика и пароль Mailu. В примере оба сервера называются mail.example.com: входящий IMAP работает на 993 с SSL/TLS, исходящий SMTP — на 465 с SSL/TLS или 587 с STARTTLS. Для исходящих нужна авторизация. Пароль Google и ключ Resend в эти поля не вводятся.