Microsoft Graph Mailerの設定
GitLab 15.5 で導入されました。
前提条件:
- Microsoft Graph API を使用してメールを送信するには、まず Azure Active Directory でアプリケーションを作成し、
Mail.Send
アプリケーション権限を追加する必要があります。 - アプリケーション権限をアプリ専用アクセスに設定します。権限が [Delegated] に設定されていないことを確認します。
OAuth 2.0 クライアント認証フローを使用してMicrosoft Graph APIを使用してアプリケーションメールを送信する場合は、次の設定情報を/etc/gitlab/gitlab.rb
に追加し、gitlab-ctl reconfigure
を実行してください。
# The originating email address for outgoing mail
gitlab_rails['gitlab_email_from'] = '<YOUR_ACCOUNT_EMAIL>'
# The reply-to email address
gitlab_rails['gitlab_email_reply_to'] = '<YOUR_ACCOUNT_EMAIL>'
gitlab_rails['microsoft_graph_mailer_enabled'] = true
# The unique identifier for the user. To use Microsoft Graph on behalf of the user.
gitlab_rails['microsoft_graph_mailer_user_id'] = "<YOUR_USER_ID>"
# The directory tenant the application plans to operate against, in GUID or domain-name format.
gitlab_rails['microsoft_graph_mailer_tenant'] = "<YOUR_TENANT_ID>"
# The application ID that's assigned to your app. You can find this information in the portal where you registered your app.
gitlab_rails['microsoft_graph_mailer_client_id'] = "<YOUR_CLIENT_ID>"
# The client secret that you generated for your app in the app registration portal.
gitlab_rails['microsoft_graph_mailer_client_secret'] = "<YOUR_CLIENT_SECRET_ID>"
gitlab_rails['microsoft_graph_mailer_azure_ad_endpoint'] = "https://login.microsoftonline.com"
gitlab_rails['microsoft_graph_mailer_graph_endpoint'] = "https://graph.microsoft.com"
トラブルシューティング
ErrorSendAsDenied
エラーメッセージは以下の通りです:
"ErrorSendAsDenied","message":"The user account which was used to submit this request does not have the right to send mail on behalf of the specified sending account., Cannot submit message."
このエラーを解決するには:
-
アプリケーションの権限をレビューして、API権限が正しいことを確認してください。
-
以下のフィールドに、使用しているアカウントのメールアドレスを設定します:
-
gitlab_rails['gitlab_email_from']
. -
gitlab_rails['gitlab_email_reply_to']
.
-
権限以外にも、このエラーはサーバがデフォルトのgitlab_email_from
の値を使用することを許可しないために発生することがあります。認証するアカウントのメールアドレスを設定してください。
Tail logs
トラブルシューティングのために、tail logs
コマンドを使って GitLab のログ更新をライブで見ることができます:
# Tail all logs for the application
sudo gitlab-ctl tail
# Tail logs for an application sub-directory
sudo gitlab-ctl tail gitlab-rails
# Tail logs for an individual file in the application
sudo gitlab-ctl tail nginx/gitlab_error.log
これらのコマンドを停止するには、Control+Cを押してください。