Microsoft Graph Mailer 설정

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

Prerequisites:

만약 OAuth 2.0 클라이언트 자격 증명 흐름을 사용하여 Microsoft Graph API로 애플리케이션 이메일을 보내고 싶다면, 다음 구성 정보를 /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를 누르세요.