Skip to main content

알림에 대한 메일 구성

사용자가 GitHub Enterprise Server의 활동에 빠르게 응답할 수 있도록 GitHub Enterprise Server 인스턴스를 구성하여 이슈, 풀 리퀘스트 및 커밋 댓글에 대한 이메일 알림을 보내도록 할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

Site administrators can configure email for notifications.

엔터프라이즈용 SMTP 구성

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
  4. "설정" 사이드바에서 이메일을 클릭합니다.
  5. 메일 사용을 선택합니다. 이렇게 하면 아웃바운드 및 인바운드 이메일이 모두 활성화됩니다. 이렇게 하면 아웃바운드 및 인바운드 메일이 모두 사용할 수 있지만 인바운드 메일이 작동하려면 아래 “들어오는 메일을 허용하도록 DNS 및 방화벽 설정 구성”에 설명된 대로 DNS 설정을 구성해야 합니다.
  6. SMTP 서버에 대한 설정을 입력합니다.
    • 서버 주소 필드에 SMTP 서버의 주소를 입력합니다.
    • 포트 필드에 SMTP 서버가 메일을 보내는 데 사용하는 포트를 입력합니다.
    • 도메인 필드에 SMTP 서버가 HELO 응답(있는 경우)과 함께 보낼 도메인 이름을 입력합니다.
    • 인증 드롭다운을 선택하고 SMTP 서버가 사용하는 암호화 유형을 선택합니다.
    • 발신 전용 메일 주소 필드에 모든 알림 메일의 보낸 사람 및 받는 사람 필드에 사용할 메일 주소를 입력합니다.
  7. 발신 전용 메일 주소가 지정된 들어오는 모든 메일을 삭제하려면 발신 전용 메일 주소가 지정된 메일 삭제를 선택합니다.
  8. 지원에서 링크 유형을 선택하여 사용자에게 추가 지원을 제공합니다.
    • 메일: 내부 메일 주소입니다.
    • URL: 내부 지원 사이트의 링크입니다. http:// 또는 https://를 포함해야 합니다.
  9. 메일 배달 테스트

메일 배달 테스트

  1. 메일 섹션의 맨 위에서 메일 설정 테스트를 클릭합니다.

  2. "테스트 이메일 보내기"에서 테스트 이메일을 보낼 주소를 입력합니다.

  3. 테스트 메일 보내기를 클릭합니다.

    Tip

    테스트 메일을 보내던 중 즉각적인 배달 오류 또는 보내는 메일 구성 오류와 같은 SMTP 오류가 발생하면 테스트 메일 설정 대화 상자에 표시됩니다.

  4. 테스트 메일이 실패하면 메일 설정 문제를 해결합니다.

  5. 테스트 이메일이 성공하면 "설정" 사이드바에서 설정 저장을 클릭합니다.

  6. 구성 실행이 완료될 때까지 기다립니다.

SMTP 연결에 TLS 적용

들어오는 모든 SMTP 연결에 TLS 암호화를 적용하여 ISO-27017 인증 요구 사항을 충족하는 데 도움이 될 수 있습니다.

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.

  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.

  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.

  4. "설정" 사이드바에서 이메일을 클릭합니다.

  5. “인증”에서 TLS 인증 적용(권장) 을 선택합니다.

    관리 콘솔의 "이메일" 섹션 스크린샷. "TLS 인증 적용(권장)"이라는 레이블이 붙은 확인란이 진한 주황색으로 윤곽이 그려져 있습니다.

  6. "설정" 사이드바에서 설정 저장을 클릭합니다.

    참고: 관리 콘솔에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.

  7. 구성 실행이 완료될 때까지 기다립니다.

수신 메일을 허용하도록 DNS 및 방화벽 설정 구성

알림에 대한 메일 회신을 허용하려면 DNS 설정을 구성해야 합니다.

  1. 인스턴스의 포트 25가 SMTP 서버에서 액세스할 수 있는지 확인합니다.
  2. reply.[hostname]을 가리키는 A 레코드를 만듭니다. DNS 공급 기업 및 인스턴스 호스트 구성에 따라 대신 *.[hostname]을 가리키는 단일 A 레코드를 만들 수 있습니다.
  3. 해당 도메인에 대한 메일이 인스턴스로 라우팅되도록 reply.[hostname]을 가리키는 MX 레코드를 만듭니다.
  4. 알림 메일의 cc 주소에 대한 회신이 인스턴스로 라우팅되도록 noreply.[hostname][hostname]을 가리키는 MX 레코드를 만듭니다. 자세한 내용은 "알림 구성"을(를) 참조하세요.

메일 배달 문제 해결

지원 번들 만들기

표시된 오류 메시지에서 잘못된 내용을 확인할 수 없는 경우 메일 서버와 GitHub Enterprise Server 간의 전체 SMTP 대화가 포함된 지원 번들을 다운로드할 수 있습니다. 번들을 다운로드하여 압축을 푼 후 enterprise-manage-logs/unicorn.log의 항목에서 전체 SMTP 대화 로그 및 관련 오류를 확인합니다.

유니콘 로그는 다음과 유사한 트랜잭션을 표시해야 합니다.

This is a test email generated from https://10.0.0.68/setup/settings
Connection opened: smtp.yourdomain.com:587
-> "220 smtp.yourdomain.com ESMTP nt3sm2942435pbc.14\r\n"
<- "EHLO yourdomain.com\r\n"
-> "250-smtp.yourdomain.com at your service, [1.2.3.4]\r\n"
-> "250-SIZE 35882577\r\n"
-> "250-8BITMIME\r\n"
-> "250-STARTTLS\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250 PIPELINING\r\n"
<- "STARTTLS\r\n"
-> "220 2.0.0 Ready to start TLS\r\n"
TLS connection started
<- "EHLO yourdomain.com\r\n"
-> "250-smtp.yourdomain.com at your service, [1.2.3.4]\r\n"
-> "250-SIZE 35882577\r\n"
-> "250-8BITMIME\r\n"
-> "250-AUTH LOGIN PLAIN XOAUTH\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250 PIPELINING\r\n"
<- "AUTH LOGIN\r\n"
-> "334 VXNlcm5hbWU6\r\n"
<- "dGhpc2lzbXlAYWRkcmVzcy5jb20=\r\n"
-> "334 UGFzc3dvcmQ6\r\n"
<- "aXRyZWFsbHl3YXM=\r\n"
-> "535-5.7.1 Username and Password not accepted. Learn more at\r\n"
-> "535 5.7.1 http://support.yourdomain.com/smtp/auth-not-accepted nt3sm2942435pbc.14\r\n"

이 로그는 어플라이언스의 다음 여부를 보여줍니다.

  • SMTP 서버(Connection opened: smtp.yourdomain.com:587)와의 연결을 열었습니다.
  • 성공적으로 연결하고 TLS(TLS connection started)를 사용하도록 선택했습니다.
  • login 인증 유형이 수행되었습니다(<- "AUTH LOGIN\r\n").
  • SMTP 서버가 인증을 유효하지 않음으로 거부했습니다(-> "535-5.7.1 Username and Password not accepted.).

GitHub Enterprise Server 인스턴스 로그 확인

인바운드 이메일이 제대로 작동하는지 확인해야 하는 경우 인스턴스에서 /var/log/mail.log/var/log/mail-replies/metroplex.log를 검토할 수 있습니다.

/var/log/mail.log 는 메시지가 서버에 도달했는지 확인합니다. 성공적인 메일 회신의 예는 다음과 같습니다.

Oct 30 00:47:18 54-171-144-1 postfix/smtpd[13210]: connect from st11p06mm-asmtp002.mac.com[17.172.124.250]
Oct 30 00:47:19 54-171-144-1 postfix/smtpd[13210]: 51DC9163323: client=st11p06mm-asmtp002.mac.com[17.172.124.250]
Oct 30 00:47:19 54-171-144-1 postfix/cleanup[13216]: 51DC9163323: message-id=<b2b9c260-4aaa-4a93-acbb-0b2ddda68579@me.com>
Oct 30 00:47:19 54-171-144-1 postfix/qmgr[17250]: 51DC9163323: from=<tcook@icloud.com>, size=5048, nrcpt=1 (queue active)
Oct 30 00:47:19 54-171-144-1 postfix/virtual[13217]: 51DC9163323: to=<reply+i-1-1801beb4df676a79250d1e61e54ab763822c207d-5@reply.ghe.tjl2.co.ie>, relay=virtual, delay=0.12, delays=0.11/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Oct 30 00:47:19 54-171-144-1 postfix/qmgr[17250]: 51DC9163323: removed
Oct 30 00:47:19 54-171-144-1 postfix/smtpd[13210]: disconnect from st11p06mm-asmtp002.mac.com[17.172.124.250]

클라이언트가 먼저 연결되고 나면 큐가 활성화됩니다. 그런 다음 메시지가 배달되고 클라이언트가 큐에서 제거되며 세션 연결이 끊어집니다.

/var/log/mail-replies/metroplex.log은 인바운드 이메일이 이슈 및 풀 리퀘스트에 답장으로 추가하기 위해 처리되고 있는지 여부를 보여줍니다. 성공적인 메시지의 예는 다음과 같습니다.

[2014-10-30T00:47:23.306 INFO (5284) #] metroplex: processing <b2b9c260-4aaa-4a93-acbb-0b2ddda68579@me.com>
[2014-10-30T00:47:23.333 DEBUG (5284) #] Matched /data/user/mail/reply/new/1414630039.Vfc00I12000eM445784.ghe-tjl2-co-ie
[2014-10-30T00:47:23.334 DEBUG (5284) #] Moving /data/user/mail/reply/new/1414630039.Vfc00I12000eM445784.ghe-tjl2-co-ie => /data/user/incoming-mail/success

metroplex은 인바운드 메시지를 수신하여 처리한 다음 파일을 /data/user/incoming-mail/success로 옮기는 것을 볼 수 있습니다.

DNS 설정 확인

인바운드 메일을 올바르게 처리하려면 유효한 A 레코드(또는 CNAME)와 MX 레코드를 구성해야 합니다. 자세한 내용은 “들어오는 메일을 허용하도록 DNS 및 방화벽 설정 구성”을 참조하세요.

방화벽 또는 AWS 보안 그룹 설정 확인

GitHub Enterprise Server 인스턴스가 방화벽 뒤에 있거나 AWS 보안 그룹을 통해 서비스되는 경우 reply@reply.[hostname]로 이메일을 보내는 모든 메일 서버에 포트 25가 열려 있는지 확인하세요.

고객 지원 문의

여전히 문제를 해결할 수 없는 경우 GitHub Enterprise 지원을(를) 방문하여 문의하세요. 문제 해결을 위해 출력 파일을 http(s)://[hostname]/setup/diagnostics에서 메일에 첨부하세요.