간이 우편 전송 프로토콜

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
OSI/IP 모델
7. 응용 계층
NNTP  · SIP  · SSI  · DNS  · FTP  · 고퍼  · HTTP  · NFS  · NTP  · SMPP  · SMTP  · DHCP  · SNMP  · 텔넷  · (더 보기)
6. 표현 계층
MIME  · XDR  · TLS  · SSL
5. 세션 계층
지명 파이프  · NetBIOS  · SAP  · SIP
4. 전송 계층
TCP  · UDP  · SCTP  · DCCP
3. 네트워크 계층
IP  · ICMP  · IPsec  · IGMP  · IPX  · 애플토크
2. 데이터 링크 계층
ARP  · CSLIP  · SLIP  · 이더넷  · 프레임 릴레이  · ITU-T G.hn DLL  · L2TP  · PPP  · PPTP
1. 물리 계층

RS-232  · RS-449  · RS-485  · V.35  · V.34  · I.430  ·

I.431  · T1  · E1  · POTS  · SONET/SDH  · OTN  · DSL  · 802.11a/b/g/n PHY  · ITU-T G.hn PHY  · 이더넷  · USB  · 블루투스

v  d  e  h

간이 전자 우편 전송 프로토콜(Simple Mail Transfer Protocol, SMTP)은 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜이다. 사용하는 TCP 포트번호는 25번이다. 상대 서버를 지시하기 위해서 DNS의 MX레코드가 사용된다. RFC2821에 따라 규정되어 있다. 메일 서버간의 송수신뿐만 아니라, 메일 클라이언트에서 메일 서버로 메일을 보낼 때에도 사용되는 경우가 많다.

SMTP는 텍스트 기반의 프로토콜로서 요구/응답 메시지뿐 아니라 모든 문자가 7bit ASCII로 되어있어야 한다고 규정되어 있다. 이 때문에 문자 표현에 8비트 이상의 코드를 사용하는 언어나 첨부파일과 자주 사용되는 각종 바이너리는 마임(MIME)이라고 불리는 방식으로 7비트로 변환되어 전달된다.

SMTP는 메시지를 생성하는 방법을 규정하지 않는다. 메시지 생성을 위하여 로컬 편집이나 단순한 전자 우편 응용이 사용된다. 메시지가 생성되면 호출된 SMTP가 메시지를 받고 TCP를 이용하여 다른 호스트의 SMTP에게 전달한다.

SMTP 개요[편집]

Connected: An Overview(영문)에서 SMTP의 개요에 대해 설명하고 있다.

SMTP 통신의 예[편집]

메일을 보내는 송신자(클라이언트)와 메일을 받는 수신자(서버)간의 연결이 성립된 후 이루어지는 합법적인 SMTP 세션은 다음과 같다. 아래 대화과정에서 클라이언트가 보내는 메시지는 "C:"를 맨 앞에 써서, 서버가 보내는 메시지는 "S:"를 맨 앞에 써서 표시하기로 하자. 대부분의 컴퓨터 시스템에서 연결은 다음과 같이 텔넷 명령어를 사용하여 만들 수 있다.

telnet www.example.com 25

이 명령으로 보내는 클라이언트에서 호스트인 www.example.com으로 SMTP 연결이 시작될 수 있다.

S: 220 www.example.com ESMTP Postfix
C: HELO mydomain.com
S: 250 Hello mydomain.com
C: MAIL FROM: <sender@mydomain.com>
S: 250 Ok
C: RCPT TO: <friend@example.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Subject: test message
C: From: sender@mydomain.com
C: To: friend@example.com
C:
C: Hello,
C: This is a test.
C: Goodbye.
C: .
S: 250 Ok: queued as 12345
C: quit
S: 221 Bye

SMTP에서의 인증[편집]

원래는 사용자 인증절차가 규정되지 않았었지만, 인터넷의 보급과 함께 그 필요성이 요구되어, SASL 메커니즘을 이용한 인증기구가 SMTP-AUTH(SMTP Authentication)으로 표준화되었다. 인증방식으로 PLAIN, LOGIN, DIGEST-MD5, CRAM-MD5 등이 널리 이용되고 있다.

또, SMTP-AUTH 표준화 이전에 POP_before_SMTP로 불리는 SMTP 밖의 기구에 의한 사용자 제한방법이 고안되어 현재까지 사용되고 있다..

RFC[편집]

  • RFC 2821 - Simple Mail Transfer Protocol
  • RFC 1869 - SMTP Service Extensions (ESMTP)
  • RFC 1891 - SMTP Service Extension for Delivery Status Notifications (DSN)
  • RFC 2554 - SMTP Service Extension for Authentication