SMTP (Simple Mail Tranfer Protocol)
ㆍSender -> Mail Server, Mail Server -> Mail Server 로 메일을 보낼 때 사용하는 프로토콜.
ㆍRFC2821 규약에 따라 TCP 포트 번호는 25번을 사용한다.
SMTP PORT
ㆍSMTP 포트들은 역사적으로 크게 3가지 번호를 가져왔다.
PORT 25
ㆍ1982년 RFC 821 에서 처음 제안되었다. 이후 30년이 넘는 세월동안 25번 포트는 여전히 기본적인 SMTP 포트로 사용되고 있다. 하지만 오래 전 할당된 포트답게 보안 면에서 다른 포트들보다 취약하다.
PORT 465
ㆍ465번 포트는 위의 RFC 821 규약을 보장하는 IETF(Internet Engineering Task Force) 라는 기관 말고, IANA(Internet Assigned Numbers Authority)라는 기관에서 제안한 포트이다. IANA는 인터넷 인프라의 많은 핵심을 다루는 기관인데, SMTP에 SSL(Secure Sockets Layer) 를 사용해 보안을 강화할 목적이었다. 그러나 이 465 포트는 1년쯤 지난 후 다른 녀석에게 밀려나게 된다. IETF에서 587 포트를 추가하였기 때문이다.
PORT 587
ㆍIETF에서 RFC 2487에 명시한 587 포트는 TLS(Transport Layer Security)를 지원하는 SMTP 포트이다. 여기서 나온 "STARTTLS" 라는 명령어는 안그래도 입지를 잃어 가는 465 포트의 막을 내려주었다. 이 명령어는 목적지에 있는 Mail Server가 TLS 지원하든 안하든 587 포트의 사용을 가능하게 해주는 녀석이었다.
어느 포트를 써야 하는가?
ㆍ되도록 새로 만드는 프로그램에선 587 포트를 사용하도록 권장한다. 25 포트는 보안 상 좋지 않고, 465 포트는 한 때 IANA에 의해 잠깐 공식화되었지만 이후 587포트가 나오면서 다른 용도(IGMP over UDP for SSM)로 대체되었다. "STARTTLS" 라는 명령어 덕분에 587 포트는 connection 과정도 다른 포트들보다 수월하다.
ㆍSMTP 포트에 관한 참고 사이트 > https://www.mailgun.com/blog/which-smtp-port-understanding-ports-25-465-587/
POP3 (Post Office Protocol version 3)
ㆍMail Server -> Receiver로 메일을 보낼 때 사용하는 프로토콜.
ㆍ메일을 받을 때 서버 -> 로컬 PC 로 다운로드가 이루어진다. 이후 Mail Server에 있던 메일은 삭제되지만, 설정을 통해 Mail Server에도 메일이 남아있게 변경할 수 있다. 이 경우 Mail Server에 자신이 사용할 수 있는 용량이 얼마나 있는지 염두해 두어야 한다.
IMAP (Internet Message Access Protocol)
ㆍPOP3와 마찬가지로 Mail Server -> Receiver 로 메일을 보낼 때 사용하는 프로토콜.
ㆍPOP3와의 차이점은 메일을 다운로드 받는 게 아니라, 메일 서버에 그대로 놔두고 사용자가 메일 서버에 접속해서 메일을 확인한다.
POP3 와 IMAP의 차이점
ㆍPOP3는 로컬 PC에 메일이 있고, IMAP은 Mail Server에 메일이 있다는 사실이 중요하다.
ㆍPOP3 Mail Server에 여러 개의 디바이스(PC, 핸드폰, 태블릿..)를 사용할 경우, 나에게 온 메일들이 각각의 디바이스에 나누어져 보일 수 있다.
ㆍ새로온 메일을 어느 디바이스에서 열었느냐에 따라 메일이 어느 디바이스에 저장될지가 결정되기 때문이다.
ㆍ반면 IMAP의 경우 어느 디바이스에서 메일을 확인하든지간에, 메일을 저장하고 있는 공간은 Mail Server 한 곳이기 때문에 보여지는 메일도 모든 디바이스에서 동일하다.