Запуск Продукты Bitnami Документацияimaxe CLI Блог Контакты
imaxe smtp почта v1.0.0

Чтобы ваши оповещения доходили

Настраивает исходящую почту сервера через smarthost (SES, корпоративный relay…) и проверяет, что она работает, отправив тестовое письмо. Одна команда всё подготавливает; после этого системные уведомления действительно отправляются.

$ imaxe smtp configure --host email-smtp.eu-west-1.amazonaws.com --from [email protected]
Версия
v1.0.0
Подкоманды
5
Конфиг
/etc/imaxe/smtp.yml
Требуется root
да
Порт
587 · TLS

Что делает этот модуль #

Многие вещи на сервере уведомляют вас по почте: истекающий сертификат, заполняющийся диск, отчёт ночной задачи. Но только что установленный сервер не умеет отправлять эту почту — или пытается сделать это напрямую и в итоге попадает в папку спама, если вообще не отклоняется целиком.

Модуль smtp решает это, настраивая исходящую почту хоста через smarthost (relay, которому уже разрешено доставлять: Amazon SES, корпоративный почтовый сервер, ваш провайдер…). Он настраивает postfix, чтобы тот пересылал всю системную почту на этот smarthost, безопасно хранит пароль, переписывает отправителя на действительного и позволяет вам проверить отправку, чтобы убедиться, что письмо доходит, — сообщая реальную ошибку, если что-то идёт не так.

Прежде чем начать

Держите под рукой данные smarthost: host, порт (обычно 587) и учётные данные, если требуется аутентификация. Пароль не передаётся в командной строке: он читается из stdin или из хранилища секретов, так что не остаётся в истории.

Краткое руководствопошаговые задачи

Типовые задачи #

Выберите, что хотите сделать. В каждом рецепте команда уже написана — просто замените smarthost и отправителя на свои и нажмите Копировать.

1

Настроить почтовый relay

Направьте сервер на ваш smarthost, чтобы почта действительно отправлялась.

Подключитесь по SSH к своему серверу под пользователем ubuntu.

Запустите команду с данными вашего smarthost. Пароль запрашивается через stdin, поэтому не остаётся в истории:

терминал
$ sudo imaxe smtp configure \
    --host email-smtp.eu-west-1.amazonaws.com \
    --user AKIAIOSFODNN7EXAMPLE \
    --from [email protected]

Если ваш smarthost не требует аутентификации, опустите --user. Для другого порта или режима TLS добавьте --port или --no-tls.

Postfix настроен на пересылку всей системной почты на ваш smarthost с отправителем, переписанным на [email protected]. Продолжите с рецепта Отправить тестовое письмо.
2

Отправить тестовое письмо

Убедитесь, что сообщение отправляется и доходит, прежде чем полагаться на оповещения.

Отправьте тестовое письмо на адрес, где вы сможете его проверить:

терминал
$ sudo imaxe smtp test --to [email protected]

Если опустить --to, письмо отправляется на настроенного отправителя. Проверьте свой почтовый ящик (и папку спама), чтобы подтвердить доставку.

Если письмо доходит, ваш сервер уже умеет вас оповещать. Если не удаётся, команда показывает реальную ошибку MTA, чтобы вы знали, что исправить.
3

Посмотреть статус почты

Проверьте одним взглядом, настроен ли relay и активен ли он.

Сводка по relay, smarthost, отправителю и статусу MTA:

терминал
$ sudo imaxe smtp status

Нужно для скрипта или панели? Добавьте --json для машиночитаемого вывода:

терминал
$ sudo imaxe smtp status --json
Вы сразу узнаете, готова ли исходящая почта или её ещё нужно настроить.
4

Посмотреть действующую конфигурацию

Запросите активные настройки, не раскрывая пароль.

Показывает host, порт, пользователя, отправителя и режим TLS, которые действительно используются (пароль никогда не выводится):

терминал
$ sudo imaxe smtp show
Идеально для проверки настройки перед тестовой отправкой или для документирования конфигурации хоста.
5

Удалить relay

Отключает пересылку и возвращает postfix в прежнее состояние.

Отключает relay исходящей почты и восстанавливает базовую конфигурацию postfix:

терминал
$ sudo imaxe smtp remove
Сервер перестаёт пересылать почту через smarthost. Вы можете снова настроить его когда угодно с помощью configure.
Тестовое письмо не доходит?

Чаще всего отправитель не верифицирован на smarthost (SES требует верифицировать домен или адрес --from) или учётные данные неверны. Запустите imaxe smtp test: он возвращает реальную ошибку MTA, чтобы вы точно знали, что настроить.

Справочник CLIкоманды, флаги и файлы

Синопсис #

использование
imaxe smtp <subcomando> [--host HOST] [--from CORREO] [flags]

Все подкоманды требуют привилегий root (используйте sudo), потому что они трогают конфигурацию postfix, пишут в /etc/imaxe/ и перезагружают системные сервисы. Пароль smarthost никогда не передаётся как флаг: он читается из stdin или из хранилища секретов. Добавьте --json к status или show, чтобы получить машиночитаемый вывод, пригодный для скриптинга.

Подкоманды #

ПодкомандаЧто делаетЗначимые флаги
configureНастраивает relay исходящей почты через smarthost. Пароль читается из secrets/stdin.--host, --port, --user, --from, --tls / --no-tls
testОтправляет тестовое письмо и сообщает реальную ошибку MTA, если не удаётся.--to
statusСтатус: настроен ли relay, smarthost, отправитель и активный MTA.--json
showПоказывает действующую конфигурацию, не раскрывая пароль.--json
removeОтключает relay и восстанавливает postfix.

Аргументы и флаги #

ФлагТипПо умолчаниюОписание
--host req.stringSMTP-smarthost, на который пересылать почту (напр. email-smtp.eu-west-1.amazonaws.com). Обязателен в configure.
--portint587SMTP-порт smarthost.
--userstringSMTP-пользователь для аутентификации. Если опущен, relay настраивается без аутентификации.
--fromstringПереписывает отправителя всех сообщений (sender_canonical). Полезно для использования верифицированного на smarthost адреса.
--tls / --no-tlsbool--tlsПринудительно включает TLS в соединении со smarthost (по умолчанию). --no-tls отключает его.
--tostringотправительВ test: получатель тестового письма. По умолчанию — настроенный отправитель.
--jsonboolfalseВ status/show выдаёт результат как JSON в stdout.
Пароль — не флаг

Опции --password не существует. Учётные данные читаются из stdin во время configure или из хранилища секретов (password_secret, по умолчанию smtp), так что они никогда не появляются в истории или в таблице процессов.

Файлы и пути #

ПутьСодержимое
/etc/imaxe/smtp.ymlКонфигурация модуля: host, порт, TLS, пользователь, отправитель и ссылка на секрет пароля.
/etc/postfix/main.cfКонфигурация postfix, которую модуль настраивает для пересылки (relayhost, canonical отправителя…).
/var/log/mail.logЛог postfix с каждой попыткой доставки и причиной отказов.

Пример smtp.yml:

/etc/imaxe/smtp.yml
enabled: true
host: email-smtp.eu-west-1.amazonaws.com
port: 587
tls: true
username: AKIAIOSFODNN7EXAMPLE
from: [email protected]
password_secret: smtp

Коды возврата и логи #

Каждый запуск возвращает код, который можно проверить через echo $? — удобно для сцепления в скриптах:

0OKОперация завершена; в test письмо принято к доставке.
1ERRОбщая неклассифицированная ошибка. Проверьте лог.
2USAGEНедопустимые или отсутствующие аргументы.
3CONFIGRelay не настроен или конфигурация неполная.
4AUTHSmarthost отклонил учётные данные.
5SENDТестовая отправка не удалась на MTA (см. сообщённую ошибку).

Следите за почтовым логом в реальном времени, пока отлаживаете отправку:

терминал
$ sudo tail -f /var/log/mail.log
$ sudo imaxe smtp test --to [email protected]

Устранение неполадок #

СимптомВероятная причинаРешение
Выдаёт AUTH (код 4)Неверные пользователь или пароль smarthost.Проверьте --user и снова запустите configure, повторно введя пароль через stdin.
Выдаёт SEND (код 5), отправитель отклонёнАдрес --from не верифицирован на smarthost (типично для SES).Верифицируйте домен или адрес у провайдера и повторите test.
Выдаёт CONFIG (код 3)Relay ещё не настроен на этом хосте.Запустите imaxe smtp configure с данными smarthost.
Почта отправляется, но попадает в спамНе настроено выравнивание SPF/DKIM в домене отправителя.Настройте записи почтового провайдера для домена --from.

Застряли с модулем Почта?

Напишите нам, приложив вывод «imaxe <module> status --json», и мы быстро ответим.

Связаться с поддержкой