Share
Ghost CMS , linux
Denys Pulinets
4 4 min read

Настройка MailGun: зачем он нужен для работы блога на Ghost CMS

Продолжая знакомиться с Ghost CMS, натыкаюсь на ошибки. Дошло до того, что если сменить устройство с которого был произведен вход в админ панель блога, получил ошибку Failed To Log In, please try again later.

Сначала подумал, что ошибся при наборе пароля. Затем решил восстановить пароль, нажав на кнопку Forgot?

И снова ошибка, но уже Failed to Send email link.

Вот здесь уже подозрительно. Работая с другими движками как Drupal, Joomla, Wordpress, Grav, насколько я помню такие вещи работали из коробки и дополнительных телодвижений не требовалось. Но с Ghost CMS все иначе.

Чтобы решить эту проблему нужно читать англоязычную документацию.

Сергей Дружко плохого не посоветует

Прочитав мануал, стало ясно, что нужно работать с сервисом MailGun.

Вообще этот сервис нужен для массовых рассылок ваших писем. К примеру если у вас много подписчиков и при публикации нового материала, этот сервис отправит всем письмо от вашего имени.

Но также он позволит рассылать письма об активации или если вы забыли пароль от аккаунта. Вообщем сервисные письма на которые не нужно отвечать.

Поэтому пришло время регистрироваться...

Регистрация и настройка в сервисе Mailgun

В целом регистрация ничего особенного не представляет. Обычное заполнение анкеты, но нужен реальный e-mail и номер телефона на который прийдет смс.

После проверочно письма с активационной ссылкой, аккаунт был активирован.

Спустя несколько минут использования сервиса, на сайте вылезло всплывающее окно.

Временная блокировка аккаунта в Mailgun

Я еще ничего не успел сделать, а меня уже временно заблокировали.

Ничего не остается как написать в техподдержку и выяснить что случилось.

Ответили не быстро, но в этот же день.

Ответ техподдержки от Mailgun

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

Попросили ответить на несколько вопросов, как, зачем и почему мне нужен их сервис.

Вообщем-то я так и написал, что для полноценной работы блога нужен сервис Mailgun, без него я даже в админку не могу зайти с другого айпи или устройства. Также подкрепил ссылку на официальную документацию.

Configuration - Adapt your publication to suit your needs
Find out how to configure your Ghost publication or override Ghost’s default behaviour with robust config options, including mail, storage, scheduling and more!

Спустя несколько часов блокировку сняли и дали ссылки на инструкции как настроить сервис к работе.

Настройка своего домена в сервисе Mailgun

После регистрации вам бесплатно дают домен типа многослучайныхцифрибукв@mailgun.org. Наверное можно использовать его, но зачем если есть свой.

Первым делом нужно содать свой API ключ. Создаем, сохраняем и вставляем в админ панель. Настройки (шестиренка снизу) - Mailgun - Edit.

Далее добавляем ваш домен на сайте Mailgun

Mailgun by Sinch

Настройка домена не вызовет сложностей, к тому же есть обучающее видео, где все подробно показано.

Записи dmark, dkim, spf нужно прописывать туда, где располагается ваш домен. Я использую Cloudflare для этих целей, поэтому и записи нужносить в DNS - Records.

После внесения изменений нужно подождать минут 15.

А вот далее лично у меня начались проблемы.

Переходим в домены на вкладку SMTP credentials.

Здесь создаем нового SMTP юзера, нажав на кнопку Add new SMTP user.

💡
Здесь очень внимательно. При выборе пункта Automatic, в правом нижнем углу браузера, выскочит всплывающая подсказка с созданным паролем на пару секунд. Нужно успеть нажать на кнопку Copy.

Я этот момент пропустил и потом искал куда же сохраняется этот пароль. Если пропустили, то нажимаем Reset Password и повторяем.

Также внизу этой страницы страницы другая необходимая информация про порты и SMTP сервер.

Настройка Ghost CMS для работы почты

Осталось дело за малым. Подключится к серваку любым удобным способом и внести изменения в файл config.production.json

По умолчанию секция mail выглядит следующим образом.

"mail": {
    "transport": "Direct"
  },

После прочтения мануала по настройке e-mail, нужно внести следующие правки.

"mail": {
    "transport": "SMTP",
    "options": {
      "service": "Mailgun",
      "host": "smtp.eu.mailgun.org",
      "port": 465,
      "secureConnection": true,
      "auth": {
        "user": "имя@домен.com",
        "pass": "пароль который появляется в окне на пару секунд"
      }
    }
  },
💡
Также после любых изменений в файлах движка нужно перезагружать Ghost CMS.

Это можно сделать при помощи команды

cd /var/www/ваш домен
ghost restart

После таких манипуляций можно будет рассылать письма подписчикам.

Теперь e-mail рассылка работает

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

Выводы

По настройке e-mail вроде бы все. Как по мне, настройка несложная, но есть свои нюансы.

Даже найти этот мануал на официальном сайте не так то просто. Тем не менее найти можно.