
SMTP(Simple Mail Transfer Protocol)
- 네트워크 서비스 중의 하나가 전자우편이다. 전자우편은 텍스트, 음성, 비디오 또는 그래픽을 포함한다.
- 인터넷에서 전자우편을 전송하기 위한 표준 메커니즘이다.
- RFC 821번으로 정의되어 있다. (추후 RFC 2821번으로 개정되었다.)
- SMTP로 전송할 수 있는 메일 규격(Format)은 RFC 822번으로 정의되어있다. (추후 RFC 2822번으로 개정되었다.)
- 다양한 하드웨어 혹은 OS 사용 환경 속에서 메일 서비스가 사용되기 때문에 호한 성을 유지하기 위한 목적으로 정의되었다.
- 클라이언트가 자신이 포함된 도메인의 메일 서버에게 메일을 전송하거나 이를 수신한 메일서버가 상대방 도메인의 메일 서버로 전송하는 경우에 사용이 된다.
- TCP Port는 주로 25번을 사용하고 587번도 사용한다.
★MIME에 대한 더욱더 자세한 정보와 첨부파일 패킷을 이용하여 원본을 확인하는 법을 알고 싶다면 아래 클릭!★
https://peemangit.tistory.com/56
MIME(Multipurpose Internet Mail Extensions) 이란?
MIME(Multipurpose Internet Mail Extensions) - 일반 첨부 파일들을 7bit의 ASCII 코드 형태로 인코딩하여 전송하는 방식이다. 이메일 Header와 Body 사이에 위치한 데이터 본문에 사용되는 데이터 복호화할 수..
peemangit.tistory.com
RFC 822 Format
- 7bit ASCII 코드만 전송이 가능하다. (128개의 문자만 쓸 수 있다.)
7bit AscII 코드표: https://terms.naver.com/entry.nhn?docId=2270339&cid=51173&categoryId=51173
MIME 방식에
SMTP 구성요소
User Agents(UA) : 사용자 에이전트는 보통 메일 리더라고 한다.
Mail Transfer Agent(MTA) : 인터넷을 통해 메일을 전송하기 위한 에이전트
SMTP연결 절차
1. 3-Hand-Shake를 통해 연결을 확인한다.
2. 220 메시지를 통해 서비스 준비를 알려준다.
3. 클라이언트를 식별하기 위해 메시지를 보낸다.
4. 250번을 통해 완료됐다고 알려준다
5. 데이터를 전송한다.
6. 연결이 완료되면 221번을 보내 연결을 끊는다.
7. 연결이 끊기면 3-Hand-Shack를 통해 마무리한다.
SMTP 기본 명령어
HELO: 클라이언트 자체를 식별하기 위해 클라이언트에서 보냄.
MAIL FROM: 메시지를 보낸 사람을 식별.
RCPT TO: 메시지 받는 사람을 식별.
SIZE: SMTP 서버에서 지원되는 최대 메시지 크기를 표시할 수 있는 메커니즘.
DATA: 클라이언트에서 메시지 내용 전송을 초기화하기 위해 보냄.
RSET: 전체 메시지 트랜잭션을 무효화하고 버퍼를 다시 설정.
QUIT: 세션을 종료.
SMTP 응답 코드
211: 서버 상태 메시지.
214: help 명령을 실행할 때 나오는 코드 메시지.
220 - 메일 서버 호스트가 SMTP서비스 가능한 상태.
250 - 접속 종료 응답 코드.
251 - 로컬상에 존재하지 않는 주소일 경우 포워드 주소로 포워딩될 때.
354 - 상대방 서버가 메일 데이터를 받을 준비된 상태.
421 - 요청한 서비스 이용 불가능하여 접속 종료 시.
450 - 메일박스를 사용할 수 없어 요청한 작업이 실행되지 않을 때.
451 - 로컬상 처리 도중에 에러로 인하여 요청한 작업이 중단될 때.
452 - 계정 공간 부족으로 인하여 요청한 작업이 실패할 경우
500 - 인식할 수 없는 명령이나 syntax 오류 시
501 - 파라미터 또는 아그먼트로 인한 syntax 오류 시
502 - 특정 명령이 서버에 따라 실행되지 않을 때
503 - 명령 순서가 잘못되었을 때.
504 - 명령에 사용되는 파라미터가 해당 서버에서는 적용되지 않을 때.
521 - 메일을 받지 못할 때.
530 - 접근 거부 시.
550 - 요청한 작업이 실행되지 않을 때.
551 - 로컬 상의 주소가 아닐 경우 수동으로 메일이 포워딩되어야 할 때.
552 - 디스크 공간 부족으로 인하여 요청한 작업이 취소될 때.
553 - 부적절한 메일박스로 인하여 요청한 작업이 실행되지 않을 때.
554 - Transaction이 실패될 때.
'Network > Network Theory' 카테고리의 다른 글
Web(World Wide Web) 이란? (0) | 2019.10.29 |
---|---|
NTP(Network Time Protocol) 이란? (0) | 2019.10.25 |
MIME(Multipurpose Internet Mail Extensions) 이란? (0) | 2019.10.24 |
트렌스포트 계층(TransPort Layer, L4) 이란? (0) | 2019.09.28 |
Network 란? (0) | 2019.09.24 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊