기술 · 출처 기반 답변

SMTP 포트 587과 25의 차이: 이메일 발송에는 어떤 포트를 써야 할까

클라이언트나 애플리케이션에서 메일 서버로 이메일을 제출할 때는 포트 587을 사용하세요. 포트 25는 서버 간 릴레이 전용이며 스팸 방지를 위해 인터넷 서비스 제공업체(ISP)에서 자주 차단합니다. 포트 587은 보안 암호화를 위한 STARTTLS를 지원하며 메시지 제출의 최신 표준입니다.

메시지 제출을 위한 포트 587

포트 587은 이메일 제출을 위해 지정된 포트입니다. Outlook 같은 메일 클라이언트나 자체 개발한 애플리케이션이 SMTP 서버로 메일을 보낼 때 사용합니다. 이 포트는 보통 인증을 요구하며 STARTTLS 명령으로 일반 텍스트 연결을 안전한 TLS 암호화 세션으로 업그레이드합니다. 제출의 표준이기 때문에 ISP가 차단하는 경우가 드물어 개발자에게 신뢰할 수 있는 선택입니다. SendHQ는 https://sendhq.cc/tools에서 이메일 설정 확인을 돕는 무료 도구를 제공합니다.

서버 릴레이를 위한 포트 25

포트 25는 메일 전송 에이전트 사이에서 메일을 릴레이하는 데 쓰이는 원래의 SMTP 포트입니다. 한 메일 서버가 다른 서버로 메시지를 보낼 때 포트 25를 사용합니다. 하지만 감염된 가정용 컴퓨터와 인증되지 않은 스크립트에서 발생하는 스팸이 많기 때문에, 대부분의 가정용 및 클라우드 제공업체는 포트 25의 아웃바운드 트래픽을 차단합니다. 애플리케이션 제출에 포트 25를 사용하려고 하면 연결 타임아웃이 발생하는 경우가 많습니다.

보안 및 암호화 차이

포트 587은 STARTTLS와 함께 사용하도록 설계되어, 클라이언트와 서버가 초기 핸드셰이크 후에 보안 연결을 협상할 수 있습니다. 포트 25도 STARTTLS를 지원할 수 있지만 레거시 시스템에서는 암호화되지 않은 트래픽에 자주 사용됩니다. 암시적 TLS에는 포트 465가 사용되기도 하지만, 제출용으로는 IANA가 권장하는 표준이 여전히 포트 587입니다. 포트 587을 사용하면 메일이 전달용으로 수락되기 전에 인증이 올바르게 처리됩니다.

올바른 포트 선택

Python, Node.js로 코드를 작성하거나 라이브러리를 사용해 트랜잭션 이메일을 보낸다면 항상 포트 587로 시작하세요. 인터넷의 다른 서버로부터 메일을 받으려는 완전한 메일 서버를 설정하는 경우에만 포트 25를 사용하세요. 애플리케이션이 587로 연결되지 않는다면 방화벽 설정이나 클라우드 제공업체의 보안 그룹에서 해당 포트의 아웃바운드 트래픽이 허용되어 있는지 확인하세요.

팀에서 자주 묻는 질문

포트 25는 왜 차단되나요?

ISP는 스팸 봇이 감염된 기기에서 정상적인 메일 서버를 거치지 않고 수백만 통의 이메일을 직접 보내는 것을 막기 위해 포트 25를 차단합니다.

포트 587은 안전한가요?

네. 포트 587은 STARTTLS로 클라이언트와 서버 간 통신을 암호화해 자격 증명과 메시지 내용을 보호합니다.

대신 포트 465를 사용해도 되나요?

포트 465는 원래 SMTPS(암시적 TLS)용이었습니다. 여전히 흔히 쓰이지만, STARTTLS를 사용한 제출의 현재 표준은 포트 587입니다.

1차 출처