본문 바로가기 주메뉴 바로가기

놀이터

공유하기

이메일의 작동 원리

이러닝박스
조회수87
2023.07.01

1. 기원

  현대 정보화 사회의 필수도구로 자리잡은 이메일은 원래 미국의 프로그래머였던 레이 톰린슨(Ray Tomlinson)이 발명한 것으로 알려져 있지만, 사실은 실제로 이메일을 최초로 만들고 저작권 등록까지 완료한 사람은 인도계 미국인이었던 시바 아야두라이(Shiva Ayyadurai)라는 사람이었다. 그가 이메일을 최초로 만든 것은 1978년 그의 나이 14세 때였다. 당시에 그는 종이 편지를 대체하기 위한 컴퓨터 프로그램을 개발했고, 이 프로그램을 "이메일"이라고 명명했던 것이다. 그가 최초로 개발한 이메일에는 오늘날과 거의 같은 구성으로 되어 있었다. 


2. 구성요소

  이메일을 사용하기 위해서는 필수적으로 갖추고 있어야 할 구성요소가 있다. 바로 이메일 주소인데, 이 주소는 "사용자이름@도메인 이름"의 형태로 이루어져 있다. 이중 맨 앞의 사용자 이름은 직접 이메일을 사용하고자 하는 사람의 이름으로 이는 사용자가 직접 임의로 만들 수 있다. 다만 사용자 이름을 만들 때에는 일부 특수문자 조합시에는 부분적인 제한을 받는다. 또 사용자 이름에는 공백을 넣을 수도 없다. 

  뒤에 위치한 도메인 이름은 사용자 이름과는 달리 사용자가 임의로 정할 수 없는 부분이다. 이는 사용하고자 하는 해당 이메일 계정을 제공하는 호스트 도메인에서 정하는 것으로 이 호스트 도메인 이름과 일치한다.

  그리고 가운데에 있는 "@"라는 특수문자는 "~에"를 나타내는 영어 단어 "at"을 의미한다. 이 @는 현재에는 이메일 주소의 표준 체계로 자리잡고 있으며, 또한 더 나아가서는 컴퓨터 통신을 상징하는 하나의 상징문자가 되었다. 한 가지 흥미로운 사실은 이메일이 전 세계적으로 널리 퍼진 관계로 @라는 문자가 각국에서 다양하게 불리우고 있다는 것이다. 가령 미국에서는 "앳 사인(at sign)", 한국에서는 "골뱅이", 일본에서는 "아토마쿠(at mark의 일본식 발음)", 이탈리아에서는 달팽이, 네덜란드에서는 원숭이꼬리, 러시아에서는 강아지, 헝가리에서는 지렁이 등으로 불리우고 있다.


3. 작동 과정

  이메일의 작동 과정 즉, 전달 과정은 종이 편지가 전달되는 과정과 유사하다. 구체적으로 살펴보면 이메일은 발신인(보내는 사람)의 이메일 클라이언트, 발신인이 사용하는 메일 서버의 SMTP(Simple Mail Transfer Protocol, 메일 발신 전용) 서비스, DNS 서버, 수신인(받는 사람)이 사용하는 POP3(Post Office Protocol, 메일 수신 전용) 서비스, 수신인의 이메일 클라이언트 등의 순서를 거쳐서 최종 전달된다. 이중에서 이메일 클라이언트라는 것은 일종의 메일 프로그램이고, SMTP 서버는 이메일 발송과 관련된 서버, 그리고 POP3 서버는 이메일을 수신하고 분배를 관리하는 서버를 각각 의미한다.

  가령 A라는 사람이 "A@a.com"이라는 메일 주소를 통해서 B라는 사람의 "B@b.com"의 메일 주소로 메일을 보낸다고 가정해보자. 이 과정에서 먼저 A는 본인의 이메일 클라이언트를 사용해서 B의 이메일 주소와 B에게 전달하고 싶은 내용을 입력하게 된다. 이 과정에서 이메일 클라이언트는 일종의 편지지 역할을 수행하고, 이메일 기능 중에서 "보내기" 버튼은 일종의 우체통의 역할을 수행하게 된다.

  이후 A가 이메일을 전송하면 A의 이메일 클라이언트는 인터넷을 통해서 a.com의 SMTP 서비스(서버)에 접속한후 발신인, 수신인, 이메일 내역 등의 정보를 전달한다.

  그러면 a.com의 SMTP 서비스에서는 @ 뒤에 있는 도메인을 참고해서 해당 메일을 받는 사람이 어디에 속해 있는지를 찾아낸다. 만일 수신인의 네트워크 위치가 발신인과 동일한 a.com이라면, 바로 a.com의 POP3 서비스로 보낸다. 여기서는 수신인이 b.com에 속해 있기 때문에 b.com의 SMTP 서버 위치를 알아내기 위해 조금 더 복잡한 과정을 거치게 된다.

  a.com SMTP 서비스는 DNS 서버(도메인 이름 변환)에 b.com SMTP 서비스 서버 IP주소를 요청한다. 이에 DNS서버 가 해당 정보를 알려주면, a.com SMTP 서비스는 b.com SMTP 서비스에 접속하여 해당 이메일을 전송한다.

  b.com SMTP 서비스는 해당 이메일이 b.com 소속이 맞는지 우선 확인한 후, b.com의 POP3 서비스로 넘긴다. 그리고 b.com POP3 서비스 B의 편지함(메일박스, mailbox)을 찾아내고 그 곳에 이메일을 보관한다.

  B의 이메일 클라이언트는 인터넷을 통해 b.com POP3 서비스에 접속한다. 이제 POP3 서비스는 B의 계정과 비밀번호가 맞는지 확인한 후, 해당 이메일 편지함에 접근을 허락한다. B의 이메일 클라이언트는 POP3 서비스로부터 수신된 자신의 이메일을 B의 PC로 가져오고, 이렇게 내려 받은 이메일은 인터넷 등에 접속하지 않은 상태에서도 열람할 수 있다. 하지만 한번 내려 받은 이메일은 해당 POP3 서비스에서 삭제되기 때문에 다른 PC의 이메일 클라이언트로는 확인할 수 없다는 단점이 있다.

  IMAP(Internet Mail Access Protocol) 서비스가 바로 이런 단점을 보완하기 위한 것인데, 이 서비스는 모든 이메일을 우선 저장을 한다. 따라서 이메일 열람은 물론, 이메일 삭제 및 검색까지 모두 메일 서버에서 처리할 수 있다. 물론 POP3 서비스와 마찬가지로 원하는 이메일을 이메일 클라이언트를 통해 자신의 PC로 저장하는 것도 가능하다. 다만 사용자가 이메일을 열람하는 동안 메일 서버와 클라이언트가 계속 상호작용을 하게 되므로 서버의 부담이 커진다. 이 때문에 POP3 서비스만 지원하고 IMAP서비스는 지원하지 않는 메일 서버도 있다.


4. 수신확인 기능

  대부분의 이메일 제공업체들에서 제공되는 수신확인 기능의 원리는 단순하다. 이메일 본문에 조그만 이미지를 넣고, 그 이미지 주소는 발신자의 제공업체 서버로 설정한다. 이렇게 해 놓으면 수신자가 이메일을 열람할 때 이미지를 표시하기 위해 발신자의 제공업체 서버로 자동 접속하게 된다. 이를 통해 수신인이 언제 이메일을 확인했는지를 '추정'할 수 있다.

  하지만 서로 다른 제공업체에 소속된 이메일 주소에서는 수신확인 기능이 제대로 작동하지 않을 수 있다. 대부분의 이메일 제공업체들이 악성코드 유입을 막기 위해 이미지를 자동으로 내려받지 않도록 설정해 두고 있기 때문이다. 다시 말하면, 수신인이 이미지를 내려받지 않을 경우 해당 이메일은 '읽지 않음'으로 표기될 수 있다는 것이다. 따라서 이메일 제공업체들이 제공하는 수신확인 기능은 100% 신뢰하지 않는 것이 현명하다.


5. 스팸메일

  불특정 다수에게 대량으로 유포되는 광고성 이메일을 스팸메일(spam mail) 또는 정크메일(junk mail)이라고 한다. 이 스팸메일은 이메일 이용자의 시간과 비용을 낭비하게 만들 뿐 아니라, 악성코드 유포 등 각종 사이버범죄의 수단으로 활용되기도 있다. 이에 이메일 제공업체들은 스팸메일을 차단하는 필터링 기능을 제공하고 있지만, 스패머(스팸메일을 보내는 사람)들이 이를 교묘히 피해 계속해서 스팸메일을 뿌리고 있는 상황이다.

  스팸메일의 유래에 대해서는 여러 의견이 있다. 우선 한국에서는 호멜푸드(Homel Food)가 햄통조림 '스팸'의 광고 전단지를 무차별적으로 뿌렸기 때문이라는 이야기가 정설로 받아들여지고 있다. 그러나 정작 미국에서는 1970년대 BBC에서 방영한 인기 코미디쇼 [몬티 파이썬의 플라잉 서커스(Monty Python's Flying Circus)]에서 비롯된 것이라는 가설이 유력하다. 이 쇼에는 '달걀과 스팸(Egg and Spam)', '감자튀김과 스팸(Chips and Spam)', '달걀과 감자튀김과 스팸(Egg, Spam, Chips and Spam)' 등 스팸이 반드시 들어간 음식만을 파는 식당이 나오며, 극중 인물들이 끊임없이 스팸을 외치며 주변을 시끄럽게 한다. 이에 일부 인터넷 사용자들이 반복적이고 무분별한 공해를 뜻하는 말로 스팸을 쓰기 시작했다고 전해진다.