엔터프라이즈용 SMTP 구성
- 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
- “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
- " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
- "설정" 사이드바에서 이메일을 클릭합니다.
- 메일 사용을 선택합니다. 이렇게 하면 아웃바운드 및 인바운드 이메일이 모두 활성화됩니다. 이렇게 하면 아웃바운드 및 인바운드 메일이 모두 사용할 수 있지만 인바운드 메일이 작동하려면 아래 “들어오는 메일을 허용하도록 DNS 및 방화벽 설정 구성”에 설명된 대로 DNS 설정을 구성해야 합니다.
- SMTP 서버에 대한 설정을 입력합니다.
- 서버 주소 필드에 SMTP 서버의 주소를 입력합니다.
- 포트 필드에 SMTP 서버가 메일을 보내는 데 사용하는 포트를 입력합니다.
- 도메인 필드에 SMTP 서버가 HELO 응답(있는 경우)과 함께 보낼 도메인 이름을 입력합니다.
- 인증 드롭다운을 선택하고 SMTP 서버가 사용하는 암호화 유형을 선택합니다.
- 발신 전용 메일 주소 필드에 모든 알림 메일의 보낸 사람 및 받는 사람 필드에 사용할 메일 주소를 입력합니다.
- 발신 전용 메일 주소가 지정된 들어오는 모든 메일을 삭제하려면 발신 전용 메일 주소가 지정된 메일 삭제를 선택합니다.
- 지원에서 링크 유형을 선택하여 사용자에게 추가 지원을 제공합니다.
- 메일: 내부 메일 주소입니다.
- URL: 내부 지원 사이트의 링크입니다.
http://
또는https://
를 포함해야 합니다.
- 메일 배달 테스트
메일 배달 테스트
-
메일 섹션의 맨 위에서 메일 설정 테스트를 클릭합니다.
-
"테스트 이메일 보내기"에서 테스트 이메일을 보낼 주소를 입력합니다.
-
테스트 메일 보내기를 클릭합니다.
팁: 테스트 메일을 보내던 중 즉각적인 배달 오류 또는 보내는 메일 구성 오류와 같은 SMTP 오류가 발생하면 테스트 메일 설정 대화 상자에 표시됩니다.
-
테스트 메일이 실패하면 메일 설정 문제를 해결합니다.
-
테스트 이메일이 성공하면 "설정" 사이드바에서 설정 저장을 클릭합니다.
-
구성 실행이 완료될 때까지 기다립니다.
SMTP 연결에 TLS 적용
들어오는 모든 SMTP 연결에 TLS 암호화를 적용하여 ISO-27017 인증 요구 사항을 충족하는 데 도움이 될 수 있습니다.
-
페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
-
“Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
-
" 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
-
"설정" 사이드바에서 이메일을 클릭합니다.
-
“인증”에서 TLS 인증 적용(권장) 을 선택합니다.
-
"설정" 사이드바에서 설정 저장을 클릭합니다.
참고: 관리 콘솔에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.
-
구성 실행이 완료될 때까지 기다립니다.
수신 메일을 허용하도록 DNS 및 방화벽 설정 구성
알림에 대한 메일 회신을 허용하려면 DNS 설정을 구성해야 합니다.
- 인스턴스의 포트 25가 SMTP 서버에서 액세스할 수 있는지 확인합니다.
reply.[hostname]
을 가리키는 A 레코드를 만듭니다. DNS 공급 기업 및 인스턴스 호스트 구성에 따라 대신*.[hostname]
을 가리키는 단일 A 레코드를 만들 수 있습니다.- 해당 도메인에 대한 메일이 인스턴스로 라우팅되도록
reply.[hostname]
을 가리키는 MX 레코드를 만듭니다. - 알림 메일의
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
에서 메일에 첨부하세요.