인터넷 메일 시스템은 상당히 복잡해 보이지만 여러 요소로 이루어진 하나의 시스템으로 보통 다음과 같은 요소로 구성 되어 있습니다.
MTA (Mail Transfer Agent)
인터넷 상에 있는 어떤 컴퓨터로부터 다른 컴퓨터로 전자 메일을 전송하는 서버 프로그램
MUA (Mail User Agent)
사용자가 전자 메일을 송수신할 때 사용하는 클라이언트 프로그램
MDA (Mail Delivery Agent)
MTA가 수신한 메시지를 사용자의 우편함에 쓰기 위한 프로그램
MRA (Mail Retrieval Agent)
리모트 서버에 있는 우편함으로부터 사용자의 MUA로 메시지를 가져오는 프로그램
일반적인 메일의 전달 과정은 다음과 같습니다.
전자 메일은 사용자가 MUA를 이용하여 MTA로 보냅니다. 이 송신 MTA는 메시지가 목적지에 도착할 때까지 메시지를 하나 혹은 그 이상의 MTA로 전송하게 됩니다. 목적지 MTA(수신 MTA)에 도달된 메시지는 사용자 정보에 따라서 MDA로 전송 되어 지며, MDA는 메시지를 수신자의 우편함에 쓰게 됩니다. 수신자는 메시지를 읽기 위해서 자신의 메일 서버에 직접 접근하거나 MUA를 사용하여 자신의 메일 서버의 우편함으로부터 메시지를 로컬로 가져옵니다. 이 때 MUA가 메시지를 분류하거나 정렬하기도 합니다. 수신자가 로컬이 아닌 리모트 메일 서버로부터 메일을 읽어 올 때 MRA를 사용합니다.
MUA로부터 MTA까지는 SMTP(Simple Mail Transfer Protocol)을 사용하여 메시지를 보내며, MTA와 MTA 사이에도 SMTP가 사용됩니다. MUA는 MRA를 통하여 POP(Post Office Protocol)나 IMAP (Internet Message Access Protocol)을 주로 사용하여 메일 서버로부터 로컬로 메시지를 읽어 옵니다.