[네트워크] SMTP

강민혁·2023년 10월 18일
0

네트워크

목록 보기
4/4

SMTP (Simple Mail Transfer Protocol)

Mail components

  • user agents (= mail reader)

  • Mail servers(메일을 가지고 있는 서버, SMTP로 메시지 주고받음.)

  • SMTP

    • 메일 서버들이 메일을 보낼 때 사용하는 프로토콜

    • 클라이언트 / 서버

SMTP 기본 설명

  • 텍스트 기반 프로토콜

  • 프로토콜은 TCP(SSL/TLS)

  • SMTP 서버와 클라이언트로 구성

  • 이메일 메시지를 수신자의 서버에 전달/저장하는데 사용

  • 메세지는 7-bit의 아스키 형태로 전달 되어야 함

  • 기본 TCP 포트: 25

  • TLS 포트: 587

  • SSL 포트: 465

SMTP server

메일을 보내는 사람이 sender@gmail.com이고, 메일을 받는 사람이 receiver@naver.com 일 때

  • 이메일을 보내는 sender@gmail.com은 SMTP 클라이언트
  • gmail.com 주소는 이메일을 송수신하는 SMTP 서버로 부름
  • 받는 receiver@naver.com의 naver.com도 SMTP 서버라고 부름

전달 과정

SMTP vs HTTP

공통점

  • 두 프로토콜 모두, 한 호스트에서 다른 호스트로 파일을 전송하는데 이용되며, 지속 가능한 연결을 사용
  • 둘다 아스키 형태의 command/response를 사용
  • status code를 사용

차이점

SMTP

  • client가 server에 push
  • 메시지가 7bit 아스키 포맷이어야 함
  • 포트를 따로 하여 한 메시지로 만듦
  • 메시지 마지막에 CRLF.CRLF를 사용

HTTP

  • client가 server에서 pull
  • 메시지 포맷 제한 없음
  • 객체에 캡슐화 방식

Mail message format

메일의 실제 내용은 7bit 아스키 포맷에 헤더와 바디로 구성되어 있다.

헤더

  • subject -> 제목 / to, from은 smtp 커맨드랑 별도로 실제(데이터 속에 들어가는) 보내는사람, 받는 사람임(smtp에서는 보내는 서버, 받는 서버의 서버에 대한 정보)

바디

  • 아스키코드로 되어있는 내용

Email Access Protocol (IMAP, POP3)

Reference

https://velog.io/@hwaya2828/SMTP
https://mutpp.tistory.com/4
https://runa-nam.tistory.com/90
https://m.blog.naver.com/yeopil-yoon/221286368883

profile
with programming

0개의 댓글