메일 계정을 휴대폰이나 아웃룩에 연결하려고 하면 꼭 묻는 게 있습니다. "POP3로 할까요, IMAP으로 할까요?" 그리고 보내는 메일 서버 칸에는 SMTP라는 말이 붙어 있죠. 셋 다 메일 프로토콜인데 하는 일이 다릅니다. 프로그램에서 메일 발송 기능을 붙일 때도 이 구분을 모르면 설정 단계에서 꽤 헤맵니다.
먼저 큰 그림부터 보면, 메일은 "보내는 길"과 "받아 보는 길"이 따로 있습니다. 보내는 길이 SMTP이고, 받아 보는 길이 POP3 또는 IMAP입니다. 그래서 메일 앱 설정 화면에 수신 서버와 발신 서버를 따로 적게 되어 있는 겁니다.
SMTP는 보내기만 합니다
SMTP(Simple Mail Transfer Protocol)는 메일을 발송하고 서버끼리 메일을 넘겨주는 데 쓰는 표준 프로토콜입니다. 메일함을 들여다보는 기능은 없어요. 스마트폰 메일 설정에서 "발신 서버" 항목에 들어가는 게 바로 이 SMTP 서버 주소입니다.
실무에서 VB.NET이나 PHP로 메일 발송 기능을 만들 때 상대하는 것도 거의 SMTP입니다. 서버 주소, 포트, 계정, 비밀번호, 보안 연결(SSL/TLS) 여부만 맞으면 발송은 됩니다. 반대로 "받은 메일을 읽어서 처리하는 프로그램"을 만들려면 SMTP로는 안 되고 POP3나 IMAP 쪽 라이브러리를 써야 합니다. 이 부분을 헷갈려서 SMTP 설정으로 수신을 시도하는 경우가 생각보다 흔합니다.
POP3와 IMAP, 지웠을 때 서버 메일은 어떻게 되나
둘 다 수신용인데 성격이 반대입니다.
POP3(Post Office Protocol 3)는 서버에 있는 메일을 내 기기로 가져오는 방식입니다. 방향이 서버에서 나 쪽으로만 흐른다고 보면 이해가 쉽습니다. 그래서 휴대폰을 POP3로 설정해 두고 메일을 지워도, 서버(메일 계정)에 있는 원본은 그대로 남습니다. 내 기기에 받아 둔 사본만 지운 셈이죠. 다만 메일 클라이언트에 "가져온 뒤 서버에서 삭제" 같은 옵션이 있으면 동작이 달라질 수 있으니 설정을 한 번 확인해 보는 게 좋습니다.
IMAP(Internet Message Access Protocol)은 메일을 서버에 두고 서버와 상태를 함께 맞추는 방식입니다. 양방향이에요. 휴대폰에서 IMAP으로 연결한 뒤 메일을 지우면 메일 계정에서도 지워집니다. 읽음 표시, 폴더 이동도 마찬가지로 서버에 반영됩니다. 메일이 서버에 있기 때문에 PC, 휴대폰, 웹메일 어디서 열어도 같은 메일함이 보이고, 받은 편지함·보낸 편지함·지운 편지함·보관함 같은 폴더 구분도 그대로 유지됩니다.
| 구분 | 역할 | 방향 | 기기에서 삭제하면 |
|---|---|---|---|
| SMTP | 메일 발송 | 보내는 쪽 | 해당 없음 |
| POP3 | 메일을 내 기기로 내려받기 | 서버 → 기기 (단방향) | 서버 원본은 남음 |
| IMAP | 서버 메일함을 함께 사용 | 서버 ↔ 기기 (양방향) | 서버에서도 삭제됨 |
어떤 걸 고르면 되나
요즘처럼 PC와 휴대폰을 같이 쓰는 환경이면 IMAP이 편합니다. 한쪽에서 읽거나 정리한 상태가 다른 쪽에도 똑같이 보이니까요. 대신 기기에서 지운 게 진짜로 지워진다는 점은 기억해 두세요. 실수로 정리했다가 원본까지 날리는 일이 IMAP에서 자주 생깁니다.
POP3는 한 대의 PC에 메일을 쌓아 두고 보관하는 용도나, 서버 용량이 넉넉하지 않아서 메일을 로컬로 빼 두고 싶을 때 맞습니다. 여러 기기에서 같은 메일함을 보려는 용도와는 잘 안 맞아요.
포트 번호도 설정할 때 같이 묻는데, 흔히 쓰는 값은 SMTP 25·465·587, POP3 110(SSL 995), IMAP 143(SSL 993)입니다. 메일 서비스마다 권장 포트와 보안 방식이 정해져 있으니, 연결이 안 되면 서비스 쪽 안내 페이지에 적힌 값과 SSL 사용 여부부터 맞춰 보는 게 빠릅니다. 웹메일 서비스는 외부 프로그램에서 POP3/IMAP 접근을 따로 켜 줘야 하는 경우도 많아서, 계정 설정에서 해당 항목이 꺼져 있지 않은지도 확인해 볼 만합니다.