SMTP 이메일 설정
Entry, Professional, Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
운영 환경에서 Mattermost는 이메일 알림과, 이메일 기반 인증을 사용할 때의 비밀번호 재설정을 위해 SMTP 이메일이 활성화되어 있어야 합니다.
SMTP 이메일 서비스 설정
어떤 SMTP 이메일 서비스든 사용할 수 있습니다. Server Name, Port, SMTP Username, SMTP Password 정보를 확보해 두어야 합니다.
SMTP 서비스가 없다면 Amazon Simple Email Service(SES)로 하나 마련할 수 있습니다.
- Amazon SES 콘솔로 이동한 뒤 SMTP Settings > Create My SMTP Credentials를 선택합니다.
Server Name,Port,SMTP Username,SMTP Password값을 복사합니다. Mattermost를 구성할 때 필요한 값입니다.Domains메뉴에서 새 도메인을 설정하고 확인한 뒤, 해당 도메인에Generate DKIM Settings를 활성화합니다. 이메일 도메인에 Sender Policy Framework(SPF)와 Domain Keys Identified Mail(DKIM)를 설정하는 것을 권장합니다.mattermost@domain.com과 같은 발신 주소를 선택하고Send a Test Email을 선택해 설정이 올바르게 동작하는지 확인합니다.
또는 아래에 나열된 서비스 중 하나를 사용하거나, Server Name을 127.0.0.1, Port를 25로 설정해 로컬 sendmail을 구성할 수도 있습니다.
Docker로 Mattermost를 배포하는 경우 표준 Docker IP 대역인 172.16.0.0/12가 사용되지 않습니다. 릴레이 접근 오류를 피하려면 이메일 서비스에 192.168.0.0/24 IP 대역을 지정하세요. postfix를 사용한다면 /etc/postfix/main.cf에서 mynetworks = 192.168.0.0/24를 지정합니다. 이는 Mattermost 배포 방식에 따라 달라질 수 있습니다. 방화벽이 있다면 Port 25가 열려 있는지 확인하세요.
Outlook365는 더 이상 Basic Auth를 지원하지 않습니다. Mattermost는 Basic Auth를 필요로 하므로, AWS SES(Simple Email Service) 같은 대체 이메일 서비스를 사용하는 것을 권장합니다.
SMTP 설정 구성
Mattermost에서 System Console > Authentication > Email로 이동해 Allow Sign Up With Email을 true로 설정합니다.
시스템 콘솔에서 Notifications > Email로 이동해 사용 중인 SMTP 서비스에 맞게 Mattermost를 구성합니다. 자세한 내용은 SMTP 구성 문서를 참고하세요.
- Send Email Notifications를 true로 설정합니다.
- 알림을 보내는 계정의 Notification Display Name을 설정합니다.
- 알림 발송에 사용할 이메일 주소를 Notification Email Address에 설정합니다.
- 초기 설정에서 복사한 SMTP Username, SMTP Password, SMTP Server, SMTP Port를 입력합니다.
- Mattermost와 SMTP 서비스 간 통신을 암호화하도록 Connection Security를 TLS (Recommended)로 설정하는 것을 권장합니다.
SMTPPort와 관련 포트 설정은 문자열 형식(예: "465")을 사용합니다. 문자열 연결이 필요한 host:port 바인딩 형식과 호환되도록 하기 위함입니다.
- Save를 선택합니다.
- Connection Security 아래에서 Test Connection을 선택합니다. Mattermost가 이메일을 보내 SMTP 서비스 연결 성공 여부를 확인해 줍니다. 테스트가 실패하면 시스템 콘솔에 실패 원인이 자세히 표시됩니다. 자세한 내용은 아래 로그로 문제 해결하기 섹션을 참고하세요.
SMTP 설정 예시
Amazon SES
- SMTP Username을 [YOUR_SMTP_USERNAME]로 설정합니다.
- SMTP Password를 [YOUR_SMTP_PASSWORD]로 설정합니다.
- SMTP Server를 email-smtp.us-east-1.amazonaws.com으로 설정합니다.
- SMTP Port를 465로 설정합니다.
- Connection Security를 TLS로 설정합니다.
Postfix
Postfix가 Mattermost와 같은 머신에 설치되어 있는지 확인하세요.
- SMTP Username을 (비워 둠)으로 설정합니다.
- SMTP Password를 (비워 둠)으로 설정합니다.
- SMTP Server를 localhost로 설정합니다.
- SMTP Port를 25로 설정합니다.
- Connection Security를 (비워 둠)으로 설정합니다.
Gmail
- SMTP Username을 your_email@gmail.com으로 설정합니다.
- SMTP Password를 your_password로 설정합니다.
- SMTP Server를 smtp.gmail.com으로 설정합니다.
- SMTP Port를 587로 설정합니다.
- Connection Security를 STARTTLS로 설정합니다.
Google 서버를 통해 SMTP 이메일을 릴레이하려면 Google 쪽에서 추가 구성이 필요합니다. 필요한 절차는 SMTP relay: Route outgoing non-Gmail messages through Google을 참고하세요.
Hotmail
- SMTP Username을 your_email@hotmail.com으로 설정합니다.
- SMTP Password를 your_password로 설정합니다.
- SMTP Server를 smtp-mail.outlook.com으로 설정합니다.
- SMTP Port를 587로 설정합니다.
- Connection Security를 STARTTLS로 설정합니다.
Office365/Outlook
- SMTP Username을 your_email@hotmail.com으로 설정합니다.
- SMTP Password를 your_password로 설정합니다.
- SMTP Server Name을 smtp.office365.com으로 설정합니다.
- SMTP Port를 587로 설정합니다.
- Connection Security를 STARTTLS로 설정합니다.
SMTP 문제 해결
TLS/STARTTLS 요구 사항
SMTP Username과 SMTP Password를 입력하는 경우 Connection Security를 반드시 TLS 또는 STARTTLS로 설정해야 합니다.
로그로 문제 해결하기
SMTP 설치에 문제가 있다면 Mattermost 팀 사이트에서 System Console > Logs로 이동해 설정과 관련된 오류 메시지를 찾아보세요. 오류 코드로 검색하면 문제 범위를 좁힐 수 있습니다. 때때로 ISP가 SMTP에 대해 세밀한 설정을 요구하기도 하는데, 오류 코드가 적절한 조정 방법의 실마리가 됩니다.
예를 들어 System Console > Logs에 다음과 같은 오류가 표시된다면 554 5.7.1 error와 Client host rejected: Access denied를 검색해 보세요.
Connection unsuccessful: Failed to add to email address - 554 5.7.1 <unknown[IP-ADDRESS]>: Client host rejected: Access denied
알림 설정 확인
자체 호스팅 Mattermost 배포에서 시스템 콘솔의 SMTP 연결 테스트가 Connection unsuccessful: Failed to set the to address: 550 5.7.27 <test@example.com> 메시지와 함께 실패한다면, System Console > Site Configuration > Notifications로 이동해 Notification Display Name, Notification From Address, Support Email Address, Notification Reply-To Address를 포함한 알림 설정이 올바르게 구성되었는지 확인하세요. 클라우드 관리자는 Notification From Address와 Notification Reply-To Address를 관리할 수 없습니다.
SMTP 서버 도달 가능 여부 확인
- 이메일 서비스에 Telnet으로 접속해 서버에 도달할 수 있는지 확인합니다. 추가 정보는 https://learn.microsoft.com/en-us/exchange/mail-flow/test-smtp-with-telnet?view=exchserver-2019 를 참고하세요. Exchange Server 2019보다 이전 버전을 사용한다면 왼쪽 탐색 메뉴에서 해당 버전을 선택하세요.
- 다음 명령은
mattermost/bin/mattermost가 있는 것과 동일한 머신 또는 가상 인스턴스에서 실행해야 합니다. telnet mail.example.com 25로 이메일 서버에 Telnet 접속합니다. 명령이 동작하면 다음과 같은 결과가 표시됩니다.Trying 24.121.12.143... Connected to mail.example.com. 220 mail.example.com NO UCE ESMTP그다음
HELO <your mail server domain>과 같이 입력합니다. 명령이 동작하면 다음과 같은 결과가 표시됩니다.250-mail.example.com NO UCE 250-STARTTLS 250-PIPELINING 250 8BITMIME
- 공식 Mattermost Docker 이미지에는 Telnet이 포함되어 있지 않습니다. 따라서
ping을 사용하거나, Telnet을 직접 설치하거나 Dockerfile을 수정해 설치해야 합니다. - 추가 도움이 필요하면 이전에 보고된 오류를 문제 해결 포럼에서 확인하거나, Mattermost 사용자 커뮤니티에 참여해 문제 해결 도움을 받으세요.