概要
Gitlab で SMTP サーバに Gmail の SMTP サーバを使う方法を紹介します
アカウントが 2段階認証を有効にしている場合はアプリパスワードを使う点に注意しましょう
環境
- GitLab Enterprise Edition 13.2.2-ee
gitlab.rb の編集
SMTP サーバの設定は gitlab 全体で一意です
gitlab.rb を編集して SMTP サーバの設定を入れましょう
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-user-name@gmail.com"
gitlab_rails['smtp_password'] = "app password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
ポイントは smtp_password
です
アプリパスワードを生成して設定しましょう
アプリパスワードについて
Google で二段階認証を有効にしている場合は Google アカウントのパスワードを gitlab.rb に直接設定することができません
その場合はアプリパスワードを使って専用のパスワードを生成してから gitlab.rb の smtp_password
に設定しましょう
reconfigure
gitlab.rb 編集後は reconfigure が必要です
gitlab-ctl reconfigure
テスト送信
公式の手順でもそうなのですが gitlab-rails console
コマンド使って送信するのが早いようです
gitlab-rails console
で Ruby の repl になったら以下のスクリプトを入力して実行しましょう
Notify.test_email('destination_email@address.com', 'Message Subject', 'Message Body').deliver_now
引数は左から「宛先アドレス」「メール本文」「メールタイトル」になります
From は smtp_user_name
に指定したユーザになっていましたが Gmail を経由しているので X-Google-Original-From
というヘッダが付与されておりここには gitlab@your.gilab.domain
のような gitlab のドメイン情報が設定されていました
また Reply-To
も gitlab のドメインになっていました
メールを受信してヘッダを確認してみると詳細がわかると思います
プロジェクトにユーザを Invite しても OK
プロジェクトから Members でユーザを Invite してもメールが送信できるのでそこで確認しても OK です
0 件のコメント:
コメントを投稿