2026. 6. 29. 13:32ㆍ백엔드/리눅스
문제
Gmail의 Send mail as / 다른 주소에서 메일 보내기 기능을 활용하여
xxx@xxx.co.kr을 발신 주소로 추가하려고 하는데 SMTP 연결 수립 실패
해석
Gmail 이 SMTP 서버에 로그인하여 메일을 보낼 수 있는가?
Gmail SMTP 설정 시도 옵션 (3가지) : Error Message
1. mail.xxx.co.kr / 465 / SSL
→ Couldn`t connect to the server
2. mail.xxx.co.kr / 587 / TLS
→ STARTTLS not supported
3. mail.xxx.co.kr / 25 / TLS
→ connection established but transaction timeout, state SENT_EHLO
확인해야 하는 것
- SMTP 서비스가 열려있는지
- SMTP AUTH 가능한지
- Submission 서비스가 있는지
확인 단계
다음 명령을 실행.
netstat -tlnp | egrep ':25|:465|:587'
postconf | grep smtpd_sasl_auth_enable

메일 서버 프로그램(Mail Server Software) 으로 XMail 을 쓰고 있음을 확인
(사이트에 따라 대표적으로 XMail, SendMail, Postfix, Exim 등도 사용)
Gmail 외부 SMTP 연동 테스트 결과 SMTP 서비스 포트 및 보안 방식 설정을 확인해야 하는 상황
- mail.xxx.co.kr:465 / SSL
- Gmail에서 서버 연결 자체가 되지 않는 상태
- 465 SMTPS 포트가 서버에서 열려 있지 않거나, 방화벽 또는 메일 서비스 설정상 외부 접속이 제한되어 있을 가능성
- mail.xxx.co.kr:587 / TLS
- Gmail에서 STARTTLS 미지원
- 587 Submission 포트가 정상적으로 STARTTLS를 제공하지 않거나, 해당 포트가 SMTP Submission 용도로 구성되어 있지 않을 가능성이 있습니다.
- mail.xxx.co.kr:25 / TLS
- TCP 연결은 되었으나 EHLO 이후 SMTP 세션이 정상 진행되지 않고 타임아웃된 상태로 보입니다.
- 25번 포트는 일반적으로 서버 간 메일 송수신용으로 사용되며, Gmail의 “다른 주소에서 메일 보내기”와 같은 외부 SMTP AUTH 발송 용도에는 적합하지 않을 수 있습니다.
아래 항목을 서버 측에서 확인
- xxx.co.kr 메일 계정이 Gmail 외부 SMTP 연동을 지원하는 서비스 구성인지
- xxx@xxx.co.kr 계정의 SMTP AUTH 사용 가능 여부
- Gmail에서 사용 가능한 정확한 SMTP 서버명, 포트, 보안 방식
- 465 SSL 또는 587 STARTTLS 서비스 제공 여부
- SMTP 로그인 ID가 전체 이메일 주소 형식인지 여부
- XMail 인증ID 질문이다. ( XMail 설정 확인 필요)
- 외부망에서 465/587 포트 접근이 제한되어 있는지 여부
이후 Gmail에 입력 가능한 정확한 설정값 확인하여 진행
확인된 사항
SMTP 서버 : XMail
열린 포트 : 25, 587
XMail 은?
나 : xxx@xxx.com
발신
xxx@xxx.com → user@gmail.com 메일 송부시
웹메일 → XMail → gmail.com MX 레코드 조회 → Google 메일 서버 → 상대 받은 편지함
수신
aa@naver.com → xxx.xxx.com 메일 송부시
Naver 메일 서버 → XMail → 메일 저장 → 웹메일에서 조회
XMail 역할
메일 발송
메일 수신
SMTP
POP3
IMAP
사용자 인증
등을 처리하는 엔진
사용자 입장에서의 XMail
사용자 → 웹브라우저 → 웹메일(화면) → XMail
추가 설명
SMTP는 연결되면 먼저 서버가 Hello 를 보냄.
220 mail.xxx.co.kr
클라이언트(Gmail)가 Reply 를 하는데
EHLO gmail.com
그러면 서버는 자신이 지원하는 기능 목록을 아래와 같이 응답한다.
250-STARTTLS
250 AUTH LOGIN
250 SIZE
587은 Submission 포트 로써, GMail 은 250-STARTTLS 가 반드시 있기를 기대헀으나
XMail 은 STARTTLS 없음 으로 응답한 것이다.
→ STARTTLS not supported 응답을 사용자가 보게 된 것.
그럼 여기서 openssl이 왜 실패했는가?
openssl s_client -starttls smtp -connect localhost:587
내부적으로
EHLO → STARTTLS → SSL Handshake 순서로 진행하나
STARTTLS가 없으니 SSL Handshake를 시작할 수 없음.
→ SSL handshake failure
SMTP AUTH 확인 : AUTH LOGIN 을 지원하는지
SMTP 대화를 직접 해보면 된다.
telnet localhost 587

결과:

250-wm4-157.speedhosting.co.kr # 서버 이름
250-VRFY # 메일 계정 존재 여부 확인 명령 지원.
250-ETRN # 메일 큐 재전송 기능.
250-8BITMIME # 한글 같은 8비트 문자 전송 지원.
250-PIPELINING # SMTP 명령을 여러 개 한 번에 보내 성능을 높이는 기능.
250-AUTH LOGIN PLAIN CRAM-MD5 # 이게 가장 중요. 'SMTP AUTH를 지원한다'
- LOGIN
- PLAIN
- CRAM-MD5
방식으로 인증할 수 있다는 뜻.
ceo 계정의 외부 SMTP 사용이 활성화되어 있는지?
→ "SMTP AUTH 기능 자체는 서버에서 지원한다"는 것을 확인
그런데? 이건 있는데 250-STARTTLS 가 실패했다?
고객이 TLS 를 선택하면, Gmail 은 STARTTLS 를 시도하였으나
서버가 250-STARTTLS 를 광고하지 않았다는 뜻. (이것이 원인)
보통 Submission 포트(587)는 STARTTLS와 함께 사용하는 것이 일반적인데,
왜 587을 열어놓고 STARTTLS를 안 쓰는가?
XMail 운영 시
- 내부 네트워크 전용
- SSL/TLS 미사용
- 별도 웹메일 인증 구조
등으로 운영하는 것일 수 있다.
정리
SMTP AUTH는 켜져 있는데 STARTTLS가 없어 Gmail과 호환되지 않는 상태.
→ 지원하지 않는 기능인지, 아니면 설정 문제인지 에 따라 조치사항이 달라진다.
'백엔드 > 리눅스' 카테고리의 다른 글
| Cron 과 Cband 이용 일일 트래픽량 기록하기 (0) | 2026.07.16 |
|---|---|
| SMTP 로그 파헤치기 (0) | 2026.07.14 |
| RAID 복구하기 (0) | 2026.06.27 |
| 리눅스 :: 웹 서비스 접속 지연 트러블슈팅 (DNS, curl, DevTools 활용) (0) | 2026.06.22 |
| 리눅스 :: 파티션과 디스크, 부트로더 (0) | 2025.09.12 |