Microsoft Graph Mailer 설정
Tier: Free, Premium, Ultimate
Offering: Self-Managed
Prerequisites:
- 메일을 보내기 위해 Microsoft Graph API를 사용하려면 먼저 Azure Active Directory에서 애플리케이션을 등록하고
Mail.Send
애플리케이션 권한을 추가해야 합니다. - 애플리케이션 권한을 App-only access로 설정하세요. 권한이 Delegated로 설정되지 않았는지 확인하세요.
만약 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."
이 오류를 해결하려면:
-
애플리케이션 권한을 검토하여 API 권한이 올바른지 확인하세요.
-
다음 필드를 사용 중인 계정의 이메일 주소로 설정하세요:
-
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를 누르세요.