Обновлено 2026-10-08
Как настроить SMTP в Ghost (self-hosted)
Чтобы Ghost отправлял почту через SMTP, добавьте в config.production.json блок "mail" с "transport": "SMTP", хостом smtp.bulko.io, портом 587, "secure": false и логином и паролем Bulko SMTP, затем выполните ghost restart. Так работают служебные письма Ghost (приглашения сотрудников, сброс пароля, ссылки входа для участников), а рассылки (newsletters) Ghost по-прежнему отправляет только через Mailgun.
Что указать в Ghost
| Поле | Значение |
|---|---|
| mail.transport | SMTP |
| mail.options.host | smtp.bulko.io |
| mail.options.port | 587 (или 2525, если 587 закрыт; 465 вместе с secure: true) |
| mail.options.secure | false для 587/2525 (STARTTLS), true для 465 |
| mail.options.auth.user | Логин Bulko SMTP (smtp_xxxxxxxxxxxxxxxx) |
| mail.options.auth.pass | Пароль Bulko SMTP |
| mail.from | 'Ваш сайт' <[email protected]> (домен, которым вы управляете) |
Настройка по шагам
- Купите пакет на странице Bulko SMTP Relay и скопируйте логин и пароль в разделе Dashboard -> SMTP Access (их также присылают на почту сразу после оплаты).
- На сервере откройте каталог установки Ghost (обычно
/var/www/ghost) и отредактируйтеconfig.production.json. - Добавьте или замените объект
mailпо примеру ниже. Ключfromнаходится на уровнеmail, а не внутриoptions. - Для порта
587оставьте"secure": false: Nodemailer, на котором работает почта Ghost, сам включит STARTTLS. Если нужен порт465, поставьте"secure": true. - Если Ghost запущен в Docker, передайте те же значения переменными окружения через двойное подчёркивание:
mail__transport=SMTP,mail__options__host=smtp.bulko.io,mail__options__port=587,mail__options__auth__user=.... - Выполните
ghost restart(или перезапустите контейнер), чтобы Ghost перечитал конфиг. - По желанию подтвердите домен отправителя в Bulko (DKIM с селектором
bk1и CNAMEbnc.для return-path), чтобы SPF, DKIM и DMARC совпадали с доменом в From.
config.production.json (секция mail)
{
"mail": {
"from": "'Ваш сайт' <[email protected]>",
"transport": "SMTP",
"options": {
"host": "smtp.bulko.io",
"port": 587,
"secure": false,
"auth": {
"user": "smtp_xxxxxxxxxxxxxxxx",
"pass": "YOUR_BULKO_SMTP_PASSWORD"
}
}
}
}
Проверка
Проще всего проверить через приглашение: в Ghost Admin откройте Settings -> Staff, пригласите пользователя на адрес, к которому у вас есть доступ, и дождитесь письма. Подойдёт и сброс пароля на экране входа или регистрация участника через Portal (придёт ссылка для входа).
Если письма нет, посмотрите ghost log (или docker logs) и найдите ответ SMTP-сервера. Таймаут соединения обычно значит, что хостинг закрыл порт, а строка с 535 говорит о неверных учётных данных.
Ошибки и решения
| Проблема | Решение |
|---|---|
| Connection timeout / ETIMEDOUT при отправке | Хостинг блокирует исходящий порт. Некоторые провайдеры (например, DigitalOcean) по умолчанию закрывают 25, 465 и 587. Переключитесь на порт 2525 с "secure": false или попросите провайдера открыть SMTP. |
| wrong version number / ошибка SSL routines | Не совпадают режим TLS и порт. Для 587 и 2525 нужен "secure": false, "secure": true ставится только для 465. |
| 535 Authentication failed | Неверный логин или пароль, либо в них попали лишние пробелы. Скопируйте их заново из Dashboard -> SMTP Access и проверьте кавычки в JSON. Подробнее: https://bulko.io/ru/smtp-errors/535/. |
| Приглашения уходят, а рассылки нет | Так и должно быть: рассылки Ghost отправляет только через интеграцию с Mailgun, которая настраивается в Ghost Admin. SMTP из config.production.json используется лишь для служебных писем. |
| 554 5.7.1 rejected | Письмо остановил контент-фильтр Bulko (признаки фишинга, вредоносных вложений, подделки бренда или мошенничества). Проверьте текст и адрес отправителя; если это ошибка фильтра, напишите на [email protected]. |
| Письма попадают в спам | Отправляйте с адреса на своём домене, подтвердите домен в Bulko для выравнивания DKIM и проверьте SPF: https://bulko.io/ru/validators/spf-checker/. |
Частые вопросы
Можно ли отправлять рассылки Ghost через SMTP?
Нет. В документации Ghost сказано, что для массовой почты нужен Mailgun. Свой SMTP в config.production.json отвечает за служебные письма: приглашения, сброс пароля, ссылки входа для участников.
Какой порт выбрать для SMTP в Ghost?
Обычно 587 с "secure": false. Для неявного TLS используйте 465 с "secure": true, а если хостинг закрыл стандартные порты, 2525 с "secure": false.
Откуда берётся адрес отправителя?
Ghost берёт отправителя по умолчанию из mail.from. Можно указать имя, например 'Acme Support' <[email protected]>. Домен адреса должен принадлежать вам.
Подойдёт ли это для Ghost(Pro)?
Нет. Блок mail в config.production.json работает только в self-hosted Ghost. В Ghost(Pro) доставкой почты занимается сам сервис.
Сколько стоит Bulko SMTP?
Пакеты оплачиваются один раз: $5 за 5 000 писем, $15 за 20 000, $30 за 50 000 или $60 за 150 000. Неиспользованные письма не сгорают, лимит по умолчанию 2 000 писем в сутки.
Можно ли получать ответы через Bulko?
Нет. Bulko SMTP работает только на отправку, входящего ящика и IMAP нет. Ответы приходят на адрес из From или Reply-To.
Получить SMTP-доступ для Ghost
Разовая оплата картой или криптой, без подписки. Неиспользованные письма не сгорают. Лимит 2 000 писем в сутки на один доступ.
Что можно отправлять: правила использования.