Microsoft Graph Mailer 설정

Tier: Free, Premium, Ultimate Offering: Self-managed

전제 조건:

Microsoft Graph API를 사용하여 애플리케이션 이메일을 보내려면 OAuth 2.0 클라이언트 자격 증명 흐름을 사용하여 /etc/gitlab/gitlab.rb에 다음 구성 정보를 추가한 다음 gitlab-ctl reconfigure를 실행하세요.

# 발신 메일의 원본 이메일 주소
gitlab_rails['gitlab_email_from'] = '<YOUR_ACCOUNT_EMAIL>'

# 회신 이메일 주소
gitlab_rails['gitlab_email_reply_to'] = '<YOUR_ACCOUNT_EMAIL>'

gitlab_rails['microsoft_graph_mailer_enabled'] = true

# 사용자의 고유 식별자. 사용자를 대신하여 Microsoft Graph를 사용하려면 이 계정이 필요합니다.
gitlab_rails['microsoft_graph_mailer_user_id'] = "<YOUR_USER_ID>"

# 애플리케이션이 작동할 디렉터리 테넌트의 고유 식별자(GUID 또는 도메인 이름 형식).
gitlab_rails['microsoft_graph_mailer_tenant'] = "<YOUR_TENANT_ID>"

# 앱에 할당된 애플리케이션 ID. 이 정보는 앱을 등록한 포털에서 찾을 수 있습니다.
gitlab_rails['microsoft_graph_mailer_client_id'] = "<YOUR_CLIENT_ID>"

# 앱 등록 포털에서 앱에 대해 생성한 클라이언트 암호
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."

이 오류를 해결하려면:

  1. 애플리케이션 권한을 확인하여 API 권한이 올바른지 확인하세요.
  2. 다음 필드를 사용하는 계정의 이메일 주소로 설정하세요:
    • gitlab_rails['gitlab_email_from'].
    • gitlab_rails['gitlab_email_reply_to'].

권한 이외에도, 이 오류는 때때로 서버가 기본 gitlab_email_from 값을 사용하지 못하게 허용하지 않아 발생할 수 있습니다. 값을 사용자의 인증하는 계정 이메일 주소로 설정해야 합니다.

로그 추적

문제 해결을 위해 라이브 GitLab 로그 업데이트를 보려면 로그 추적 명령을 사용하세요:

# 애플리케이션에 대한 모든 로그를 추적
sudo gitlab-ctl tail

# 애플리케이션 하위 디렉터리에 대한 로그를 추적
sudo gitlab-ctl tail gitlab-rails

# 애플리케이션의 개별 파일에 대한 로그를 추적
sudo gitlab-ctl tail nginx/gitlab_error.log

이 명령 중지하려면 Control+C를 누르세요.