기술 · 출처 기반 답변
SMTP는 어떤 포트를 사용하나요? SMTP 표준 포트 가이드
SMTP는 서버 간 릴레이에 포트 25, STARTTLS를 사용한 메일 제출에 포트 587, 암시적 TLS에 포트 465를 사용합니다. 올바른 포트는 클라이언트에서 서버로 메일을 보내는지, 두 메일 서버 사이에서 메일을 전송하는지에 따라 달라집니다.
릴레이를 위한 포트 25
포트 25는 SMTP의 원래 표준입니다. 주로 메일 전송 에이전트(MTA) 사이의 메시지 릴레이에 사용됩니다. 대부분의 가정용 인터넷 서비스 제공업체(ISP)와 클라우드 제공업체는 감염된 기기에서 발생하는 스팸을 막기 위해 포트 25의 아웃바운드 트래픽을 차단합니다. 개발자는 클라이언트 제출에 포트 25를 사용하지 말고 서버 간 통신용으로 남겨 두어야 합니다.
제출을 위한 포트 587
포트 587은 이메일 제출의 최신 표준입니다. 메일 클라이언트가 제출 서버로 메시지를 보낼 때 사용합니다. 이 포트는 보통 암호화되지 않은 연결로 시작해 보안 TLS 연결로 업그레이드하는 STARTTLS를 사용합니다. 애플리케이션 연동과 서드파티 SMTP 서비스에 권장되는 포트입니다.
암시적 TLS를 위한 포트 465
포트 465는 원래 SMTPS용으로 지정되었습니다. 한때 사용이 권장되지 않았지만, 첫 패킷부터 연결이 암호화되는 암시적 TLS용으로 여전히 널리 쓰입니다. 많은 레거시 시스템과 일부 제공업체는 보안 전송에 여전히 포트 465를 요구하지만, 새로 구현할 때는 일반적으로 포트 587이 선호됩니다.
올바른 포트 선택
올바른 포트를 선택하려면 메일 흐름에서 자신의 역할을 파악하세요. 다른 서버로부터 메일을 받도록 서버를 설정한다면 포트 25를 사용하세요. API나 SMTP 릴레이로 이메일을 보내는 코드를 작성한다면 포트 587을 사용하세요. SendHQ 무료 도구로 DNS 및 인증 설정을 확인하면 어떤 포트를 사용하든 메일이 수락되도록 할 수 있습니다.
연결 문제 해결
포트 25에서 연결 타임아웃이 발생하면 보통 ISP가 차단한 것입니다. 포트 587이 실패하면 클라이언트가 STARTTLS를 지원하는지, 방화벽이 해당 포트의 아웃바운드 트래픽을 허용하는지 확인하세요. 많은 서버가 유효한 SMTP AUTH 없이는 제출 포트의 연결을 거부하므로, 인증 자격 증명이 올바른지 항상 확인하세요.
팀에서 자주 묻는 질문
포트 25는 안전한가요?
포트 25는 기본적으로 안전하지 않습니다. STARTTLS를 사용할 수는 있지만, 스팸 방지를 위해 ISP가 차단하는 경우가 많고 클라이언트 제출에는 권장되지 않습니다.
465와 587은 무엇이 다른가요?
포트 465는 암시적 TLS를 사용해 연결이 즉시 암호화됩니다. 포트 587은 STARTTLS 명령으로 일반 연결을 업그레이드하는 명시적 TLS를 사용합니다.
SMTP 연결이 타임아웃되는 이유는 무엇인가요?
타임아웃은 방화벽 규칙이나 ISP의 포트 25 차단이 원인인 경우가 많습니다. 개발자의 경우 포트 587로 전환하면 이러한 연결 문제가 대개 해결됩니다.
1차 출처
- RFC 5321: 단순 메일 전송 프로토콜(SMTP) — RFC Editor
- 서비스 이름 및 전송 프로토콜 포트 번호 레지스트리 — IANA
- RFC 8314: SMTP 이후 이메일 프로토콜의 평문 관련 고려 사항 — RFC Editor