ConohaのGitLabでメール送信できない問題をSESで解決した


ConohaでGitLabイメージを使ってみた

Conohaには色んなアプリケーションのイメージがあります。
今回はその中の一つ、GitLabを試してみました。


推奨が4GBらしいので、今回は4GBのプランで立てました

ログインまではすごく簡単

サーバーを立てたら、上画像の矢印に記載されているIPアドレスに直接アクセスすると、初回はパスワードの変更を求められます。初期の管理者ユーザー名は「root」です。

ユーザー登録をしてもメールが送ってこない

その後rootでログインして別のユーザーを追加したり、トップページから新規ユーザーの登録をしてもメールが送られてこない。

パスワードはメールに記載されているっぽいので、ログインができない。

AWS SESのSMTPから送信するようにした

やり方は公式にそのまま書いてました

前提

送信数の緩和やドメインの認証などは済んでいる前提です。
SES設定方法(2016年2月)

IAMの作成をして認証情報をゲットしておく

メール送信専用にIAMを作成

SESのページ内にある「SMTP Settings」から「Create My SMTP Credentials」ボタンを押して、そのままナビゲートに従いつつIAMを作成しましょう。

最後に認証情報のダウンロードが出来るので、メモまたはダウンロードしておきます。

サーバーに入って下記の作業をする

このファイルが設定ファイルのようなので、下記のように書き換えます。
/etc/gitlab/gitlab.rb


gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "email-smtp.region-1.amazonaws.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "IAMmailerKey"
gitlab_rails['smtp_password'] = "IAMmailerSecret"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'

書き換えたら次のコマンドを打って、終了。
gitlab-ctl reconfigure

まとめ

イメージでの提供なので、てっきりpostfixなどのメールサーバー込みなのかと思ったのですが、そういうことでもないんですかね。

今回はAWS SESで解決しましたが、下記のドキュメントを見るとGmailでの設定などもありますので、お好きなものを参照ください。