Skip to main content

Redmine4.2(5.x)とGmailを連携させる。

本記事で実施すること

  • RedmineとGmailアカウントを紐付け、Redmineからの各種通知をメールで受け取れるようにする。

想定している読者

  • メール通知機能を行いたいが、SMTPサービスを用意したくない
    • (AWSはSMTP機能を遮断しているなど)
  • redmineのconfiguration.ymlを設定していない

前提

以下が必須です。

  • Redmine稼働サーバのSSHアクセス権限がある
    • かつ管理者権限を持っている
  • Gmailアカウントを持っている

また、Redmineのディレクトリを

/home/www-data/redmine

としていますので、自分の環境に合わせてください。

注意事項

本記事により、以下のリスクが発生します。

  • Gmailアプリパスワード漏洩により、用意したアカウントでメールが送信される。

そのため、この作業は細心の注意を払ってください。

手順

さっくりとした手順

  1. Gmailの2段階認証を有効にします。
  2. アプリパスワードを発行します。
  3. Redmine稼働サーバでメールの設定を行います。
  4. 送信確認を行います。

Googleアカウントでの作業

Googleアカウントで設定をします。

  1. Googleアカウント > セキュリティに移動します。
  2. Googleへのログインで「2段階認証プロセス」をオンにします。

どういう方法で認証をするかは運用に合わせてください。

アプリパスワードを用意します。

  1. Googleアカウント > セキュリティに移動します。
  2. Googleへのログイン > アプリパスワードに移動します。
  3. プルダウンメニューから以下を入力し、「生成」をクリックします。
    1. アプリを選択:メール
    2. デバイスを選択:その他(名前を入力)
    3. 任意の名前(redmine等)を入力
  4. 生成されたパスワードを控えます。このパスワードはGoogleアカウントへの完全なアクセス権が付与されることに注意ください。

Redmine管理サーバでの作業

メールサーバ情報を設定します。

【】内は、自分の環境に合わせます。

cat <<- __EOF__ | sudo tee -a 【/home/www-data/redmine/config/configuration.yml】
default:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "smtp.gmail.com"
      port: 587
      authentication: :plain
      domain: "smtp.gmail.com"
      user_name: "【Gmailアドレス】"
      password: "【上述したアプリパスワード】"
__EOF__
ls -l /home/www-data/redmine/configconfiguration.yml
# 配置したディレクトリは自分の環境に合わせます。
# ファイルがあることを確認します。

設定を反映します。

sudo systemctl restart apache2.service
# 自分が使っているWebサービスに合わせます。

Redmineでの設定

管理者アカウントでログインします。

  1. 管理>設定に移動します。
  2. 「メール通知」がタブが有効になっているので、このタブをクリックします。

通知メールの設定を行います。

以下を設定して「保存」をクリックします。

  • 送信元メールアドレス:自分のメールアドレス
  • 宛先を非表示(bcc):チェックを外す
  • メール通知の送信対象とする操作:運用に合わせます。

通知メールの確認を行います。

  1. Redmineの個人設定に移動します。 1.「自分自身による変更の通知は不要」のチェックを外し、保存をクリックします。
  2. 任意のチケットを発行/変更し、メールが届いていることを確認します。

以上で、設定は完了です。