Sendmail의 SMTP 서버를 설정(sendmail.mc)을 하다 보면, 종종 메일 전송이 안 되는 경우가 발생할 수 있습니다.
저 같은 경우, 직원 중에 특정 인터넷 통신사를 사용할 경우 SMTP 보내기가 안된다고 불만을 토라 하는 분들이 있었습니다.
저의 경우, 특정 RBL(Real-time Blocking List)에서 차단하는 IP에서 SMTP로 Email를 보내려고 했기 때문이었습니다.
이런 경우, Sendmail 설정에서 추가한 RBL리스트 중에 제거를 해줘야 하는데요.
이런 이슈는 거의 서버 설정으로 생각하기 힘든 문제점이며,
문제점을 찾기가 많이 어렵습니다.
이 경우, SMTP가 전송이 안 되는 인터넷 라인에서
SMTP Diag Tool 해당 프로그램으로 실행해보면,
모니터링을 통해서 찾아볼 수 있습니다.
Blacklisting Errors
554 5.7.1: Service unavailable; Client host X.X.X.X blocked using zen.spamhaus.org
zen.spmhaus.org는 스팸 릴레이를 차단해주는 RBL사이트 중에 유명한 사이트입니다.
보내는 사람의 IP가 Blacklisted IP인 경우 차단되게 되어 있습니다.
(보통 스타벅스, 공공시설과 같은 경우 이 IP 차단에 걸리는 경우가 많습니다.)
해결책은 sendmail.mc의 설정 파일 중에 zenhaus.org 주석처리
dnl # FEATURE(`dnsbl', `zen.spamhaus.org', `"550 Mail from " $`'&{client_addr} " Rejected refused - see http://www.spamhaus.org/"')dnl
sendmail.mc 설정에 주석 처리 후,
m4명령어로 sendmail.cf를 만들어주고 Sendmail를 재시작하면 됩니다.
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# /etc/init.d/sendmail restart
CentOS 7이후 ~
# systemctl restart sendmail
SMTP Diag Tool - SMTP Relay Troubleshooting
SMTP Diag Tool은 SMTP의 전송하는 통신 상태를 모니터링을 위한 프로그램입니다.
SMTP Server: 서버 도메인 (예: smtp.google.com)
Port: SMTP포트 (예: 25, 587)
Username: 이메일 아이디 (예: test)
Password: 이메이 패스워드 (예: 12@34)
From: 보내는 사람 이메일 주소 (예: test@gmail.com)
To: 받는 사람 이메일 주소 (예: test2@daum.net)
Test SMTP: 메일 전송하기
해당 프로그램을 SMTP 서버에 접속하여서,
통신의 흐름을 로그로 확인되면서, 문제점을 찾는데 큰 도움을 줍니다.
설치 시, 필수 요구 사항은 ". net framework 4"가 설치되어 있어야 합니다.
https://adminkit.net/smtp_diag_tool.aspx
프로그램은 Install버전과 zip 버전이 있습니다.
SMTP Diag Tool version 1.0.0 (Apr 2012) zip 버전입니다.
SMTP 오류 리스트
SMTP 문제점 들은 아래와 같이 다양하고, 아래의 문제 이외에도 무수히 많습니다.
SMTP Username과 Password 오류
Error: authentication failed
보내는 사람 이메일이 문제 (잘못된 From Email Address)
Sender address rejected
SMTP 인증 오류 - SMTP Relay server 관리자가 차단한 경우
421 4.7.1: Sender address rejected: Account disabled
보내는 사람의 Domain의 문제가 있을 경우 (예: DNS 설정에 MX / A 레코드가 없는 경우)
이 경우 상세한 정보를 https://mxtoolbox.com에서 확인이 가능합니다.
450 4.1.8: Sender Address Rejected: Domain Not Found
SMTP에서 보내려는 도메인을 whitelist에 추가가 필요한 경우.
553 5.7.1: Sender address rejected: not owned by user
자격 증명이 오류나 MX 레코드 설정 오류 시
554 5.7.1: Sender address rejected: Access denied
SMTP Relay서버에서 이메일 제목과 내용에 스팸 처리가 되는 문장 있는 경우
554 5.7.1 : Message cannot be accepted, spam rejection
554 5.7.1 : Message refused by Dictionary check
SMTP Relay 룰 오류
554 5.7.1 : Message cannot be accepted, rules rejection
스팸 이메일로 인지 될 때 리턴되는 메시지
오류 예제 >>
554 5.7.1 : The message from (<foo@example.com>) with the subject of (…) matches a profile the Internet community may consider spam. Please revise your message before resending.
554 5.7.1 : Email cannot be delivered. Reason: Email detected as Spam by spam filters.
554 5.7.1 : [MW01] Message content not accepted for policy reasons
** 블랙리스트 IP에서 메일을 보낼 때. (저의 케이스) - 본인의 IP가 블랙리스트 인지 체크해봅니다.
554 5.7.1: Service unavailable; Client host X.X.X.X blocked using zen.spamhaus.org
잘못된 이메일 또는 존재하지 않는 이메일로 보낸 경우
554 5.7.1: <example@testdomain.com>: Sender address rejected: testdomain.com is not allowed to send email to mydomain.com
추가로, 일반적으로 사용하는 SMTP 포트들
25 – Default SMTP PORT
465 – SSL Connection
587 – TLS Connection
2525 – An alternative port of 587
참고 사이트: How to Trobleshoot SMTP Relay?
'Server관련 > Sever(OS)' 카테고리의 다른 글
(로그인하지 않으셔도 가능)