Инфраструктура и серверы/ GitLab

Настройка почты GitLab через SMTP ISPmanager

SMTP-настройки

Если почтовый сервер поднят на том же сервере или рядом через ISPmanager, GitLab можно настроить на отправку писем через его SMTP. В моей связке заработал вариант с портом 465 и обычным TLS сразу при подключении, без STARTTLS.

Открываем конфиг:

sudo nano /etc/gitlab/gitlab.rb

Пример SMTP-настроек:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'mail.example.com'
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = 'gitlab@example.com'
gitlab_rails['smtp_password'] = 'password'
gitlab_rails['smtp_domain'] = 'example.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
gitlab_rails['gitlab_email_reply_to'] = 'gitlab@example.com'

Смысл настройки такой: 465 — это TLS-соединение сразу, поэтому автоматический STARTTLS здесь не нужен. Для схемы с портом 587 настройки были бы другими.

Применяем изменения:

sudo gitlab-ctl reconfigure

Проверка отправки

Проверить отправку письма можно через Rails-консоль:

sudo gitlab-rails console
Notify.test_email('you@example.com', 'Test GitLab email', 'SMTP is working').deliver_now

Если письмо не уходит

Сначала сверяю пару smtp_port / smtp_tls: для 465 нужен smtp_tls = true, а smtp_enable_starttls_auto выключен. Потом уже проверяю логин, пароль, SPF/DKIM и ограничения провайдера на исходящую почту.

Теги

Читать дальше