Вам понадобятся аккаунт Mailgun и доступ к DNS вашего домена.
Собственная документация Mailgun: Добавление и подтверждение домена · Ключи API · Регистрация
1. Добавьте ваш домен для отправки в Mailgun
В панели управления Mailgun перейдите в Send → Domains → Add New Domain и введите поддомен, например mail.yourdomain.com.
⚠️ Собственная рекомендация Mailgun — использовать поддомен, и здесь это важнее, чем у некоторых других провайдеров: Mailgun настраивает собственные записи SPF и DKIM для любого указанного вами домена, и если указать корневой домен, эти записи будут соседствовать с теми, от которых зависит работа ваших корпоративных почтовых ящиков.
Выберите регион, соответствующий тому месту, где должны храниться ваши данные — US или EU. Запишите его; он понадобится вам на шаге 4, и это самая распространенная ошибка.
2. Опубликуйте записи DNS, предоставленные Mailgun
Mailgun покажет вам список. Добавьте каждую из них у вашего DNS-провайдера.
| Type | Host | Purpose |
|---|
TXT | mail.yourdomain.com | SPF — v=spf1 include:mailgun.org ~all |
TXT | mailo._domainkey.mail.yourdomain.com | Публичный ключ DKIM |
CNAME | email.mail.yourdomain.com | Отслеживание и обработка возвратов |
MX | mail.yourdomain.com | Получение возвратов (два MX-хоста Mailgun) |
⛔ Если у вашего поддомена для отправки уже есть запись SPF, отредактируйте ее — не добавляйте вторую. Домен с двумя SPF-записями TXT полностью проваливает проверку SPF, что хуже, чем полное их отсутствие.
Затем нажмите Verify DNS Settings в Mailgun. Статус может стать зеленым не сразу (это занимает до одного часа).
⭐ Добавьте записи MX, даже если вы только отправляете письма. С их помощью Mailgun собирает возвраты. Без них письмо с некорректного адреса возвращается в никуда, Mailgun не может его исключить, и вы продолжаете платить за отправку на адрес, который никогда ничего не получит.
3. Получите ваш API-ключ
Send → Sending → Domain settings → API keys или страница API Keys вашего аккаунта.
Используйте ключ отправки (sending key), ограниченный этим доменом, если ваш тарифный план это позволяет, а не приватный API-ключ аккаунта. Ключ отправки может только отправлять; приватный ключ может читать ваши журналы и изменять настройки вашего аккаунта. Нам нет никакой необходимости хранить второй.
4. Подключите его в Zinn®
Откройте раздел Отправка email в вашей панели управления и заполните:
- Провайдер — Mailgun
- Отправлять с этого домена —
mail.yourdomain.com (домен, а не адрес)
- Домен отправки Mailgun — тот же домен, который вы добавили в Mailgun
- Регион —
us или eu, в соответствии с шагом 1
- API-ключ Mailgun — ключ из шага 3
⛔⛔ Укажите правильный регион. Аккаунты Mailgun, размещенные в EU, обслуживаются совершенно другим хостом API. Отправка ключа EU-аккаунта на хост US возвращает ошибку «401 Unauthorized» — которая выглядит в точности как неверный ключ. Если ваш ключ совершенно точно правильный, но вы получаете ошибку 401, причина почти всегда именно в этом.
5. Отправьте тестовое письмо и введите код
Нажмите Отправить тестовое сообщение, используя почтовый ящик на другом домене — адрес Gmail подойдет идеально. Посмотрите код в этом почтовом ящике и введите его. Ваша почта переключится немедленно.
Если что-то не работает
401 Unauthorized — неверный регион (см. выше), либо вы вставили ключ от другого аккаунта Mailgun. Сгенерируйте ключ заново вместо повторного ввода вручную; префикс key- легко потерять.
Тестовое сообщение так и не пришло — проверьте страницу Logs в Mailgun. Если в Mailgun вообще нет записи о нем, неверны учетные данные или имя домена. Если Mailgun принял его, но сбой произошел позже, причина будет указана простыми словами, и почти всегда это связано с DNS.
«Domain not found» — поле Домен отправки Mailgun должно содержать домен в точности так, как его указывает Mailgun, включая поддомен. yourdomain.com и mail.yourdomain.com являются для Mailgun двумя разными доменами.
Все работало, а затем перестало — проверьте, не закончился ли ваш бесплатный пробный период. Пробные аккаунты Mailgun могут отправлять письма только авторизованным получателям, поэтому тестовое сообщение на ваш собственный адрес продолжает работать, в то время как все письма вашим клиентам молча не доходят.