http보다 오래되었다.
메일 메시지의 header뿐만 아니라 body도 7-bit ASCII로 제한된다. 80년대에는 대용량 이미지 등을 메일로 보내지 않았기 때문에 적합한 형태였다.
그렇기에 오늘날 멀티미디어 전송을 위해 몇 가지 과정을 더 거쳐야 한다.
1. 이진 멀티미디어 데이터를 ASCII로 인코딩
2. SMTP 전송
3. 해당 ASCII 메시지를 다시 이진수로 디코딩
→ 이에 비해 HTTP는 전송 전에 멀티미디어 테이터를 ASCII로 인코딩할 필요가 없다.
SMTP 과정
중요점
위의 예시들은 밥이 자신의 mail server에 로그인을 해서 메일을 읽는다고 가정했다. 하지만 오늘날에는 client-server architecture를 사용한다. 즉, 일반적인 사용자는 PC, 노트북, 스마트폰 등 다양한 end system에서 메일을 읽는다.
위에서 만약에 밥의 mail box가 그의 local PC에 있다면 밥은 메일을 받기 위해서 항상 PC가 켜진채로 인터넷에 연결되어 있어야 한다. 하지만 대부분의 사용자는 local PC에서 상시 공유 메일 서버에 저장된 편지함에 접근합니다. 이 mail server는 다른 사용자와 공유되고 일반적으로 사용자의 ISP에서 관리한다.
SMTP의 사용은 발신자 → 발신자의 mail server → 수신자의 mail server → 수신자의 과정에서 사용됩니다. 발신자가 굳이 발신자의 mail server로 보내는 이유는 만약 수신자가 연결 될 수 없는 상태일 경우에 server가 주기적으로 메시지 전송을 하기 위함이다.
위의 과정에서 수신자의 mail server → 수신자의 경우 SMTP를 사용하지 않는다. SMTP는 push protocol이기 때문이다. 대신 메일에 접근 할 수 있는 protocol을 사용한다. 주로 POP3(post office protocol - version3), IMAP(internet mail access protocol), HTTP가 사용된다.