Microsoft Graph 메일러 설정
- GitLab 15.5에서 도입됨.
전제조건:
- Microsoft Graph API를 사용하여 메일을 보내려면 먼저
애플리케이션을 생성하세요
Azure Active Directory에서Mail.Send
애플리케이션 권한을 추가해야 합니다. - 애플리케이션 권한을 앱 전용 액세스로 설정하세요. 권한이 위임됨으로 설정되어 있지 않은지 확인하세요.
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":"이 요청을 제출하는 데 사용된 사용자 계정이 지정된 발신 계정을 대신하여 메일을 보낼 권한이 없습니다., 메시지를 제출할 수 없습니다."
이 오류를 해결하려면:
-
애플리케이션 권한을 검토하여 API 권한이 올바른지 확인하세요.
-
다음 필드를 사용 중인 계정의 이메일 주소로 설정하세요:
-
gitlab_rails['gitlab_email_from']
. -
gitlab_rails['gitlab_email_reply_to']
.
-
권한 외에도 이 오류는 서버가 기본 gitlab_email_from
값을 사용하도록 허용하지 않기 때문에 발생할 수 있습니다.
인증하는 계정의 이메일 주소로 값을 설정해야 합니다.
Tail logs
문제를 해결하기 위해 tail logs
명령어를 사용하여 GitLab 로그 업데이트를 실시간으로 확인하세요:
# 애플리케이션의 모든 로그를 tail 합니다.
sudo gitlab-ctl tail
# 애플리케이션 하위 디렉터리의 로그를 tail 합니다.
sudo gitlab-ctl tail gitlab-rails
# 애플리케이션의 개별 파일에 대한 로그를 tail 합니다.
sudo gitlab-ctl tail nginx/gitlab_error.log
이 명령어를 중지하려면 Control + C를 누르세요.