SMTP   Simple Mail Transfer Protocol  

(2013-06-12)

1. SMTP (Simple Mail Transfer Protocol)

  ㅇ 두 메일시스템이 전자우편을 교환할 수 있게 하는,
     - 비교적 간단한 메세지 전송프로토콜


2. 주요 특징 및 참고사항통신 포트프로토콜
     - SMTP가 사용하는 통신 포트는 25 이고, 
     - 신뢰성이 높은 TCP 연결에 기초함
     - 모든 처리는 항상 하나의 TCP 연결을 통해 실행됨

  ㅇ 메일서버 간에 메일의 송수신은 클라이언트/서버 모델에 기초
     - 메일 서버는 통상 데몬으로 동작하며, 메일 클라이언트로부터 요청에 항상 준비
     - SMTP는 송신자의 메일서버로부터 수신자의 메일서버메세지전송주소 표기
     - 송신/수신자의 확인을 위한 주소 표기는  `계정명@호스트주소` 형태를 띔

  ㅇ 텍스트 인코딩 방식
     - 문자코드를 7 비트 ASCII 코드로 한정하고 있기 때문에, 화상이나 음성등의 데이타
       를 포함한 문서는 전송할 수 없음 
     - 그러나, MIME 방식을 이용하여 첨부하여 전송할 수 있음

  ㅇ 별칭 확장(Alias Expander)
     - 1개 이름에 대해 일-대-다 또는 다-대-일로 변환 가능


3. 주요 구성요소

  ㅇ UA(User Agent)
     - UA는 정의되었으나, 상세한 구현내용은 정해지지 않음 
       . UA 프로그램 例) elm, MH, Zmail, Berkely mail, Outlook Express, Eudora 등

  ㅇ MTA(Message Transfer Agent)
     - MTA는 메일을 중계,전달하는 기능을 수행
        . UNIX에서는 MTA로써 주로 sendmail을 많이 사용

  ㅇ MAA(Message Access Agent)
     - 메일 엑세스용 프로토콜
       . MAA 프로토콜 例) POP3, IMAP


4. MTA 클라이언트MTA 서버 간의 주요 명령 및 응답

  ㅇ SMTP 주요 명령들 : 주로 클라이언트서버에게 송신
     -  HELO : 클라리언트 자신이 누구인가를 밝힘 (例 : HELO : ktword.co.kr)
     -  MAIL FROM : 클라이언트가 메일 송신자가 누구인지를 알기위해 사용
     -  RCPT TO : 수신처
     -  DATA : 전체 메일 메세지 전송을 송신측에서 준비됨 
     -  QUIT 등

  ㅇ 주요 응답코드   
     -  220 : 서비스 준비 완료
     -  221 : 서비스 종료에 따라 전송채널을 닫음
     -  250 : 요구된 동작을 실행했음을 알림
     -  354 : 메일 입력이 시작됨
    

  ※ 각각의 명령,응답은 `CR(Carrage return) + LF(Line feed)`로 끝남


5. 관련표준 

  ㅇ SMTP 동작원리는 RFC 821에서 설명됨. 
     - 이메일에 대한 일반적 정의는 RFC 821에 있음 (1982년)
  ㅇ RFC 822에서는 메일 메세지 포멧 등이 정의됨

  ※ 사실 SMTP는 RFC로 규격화되기 이전에 이미 사용되어 왔음
     - 역사상 SMTP는 UNIX전자우편 프로토콜로써, ARPANET상에서 사용하기 위하여
       1982년에 제정된 규약으로, 오늘날 인터넷에서 전자우편의 사실상의 표준

전자메일
   1. 전자메일   2. MIME   3. MTA,MAA   4. SMTP   5. IMAP   6. POP,POP3   7. MHS   8. X.400   9. 메일 메세지 포멧   10. 메일서버   11. 카본카피   12. (보안) S/MIME   13. (보안) PGP  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"