✅ SMTP? 
SMTP (Simple Mail Transfer Protocol)는 이메일을 전송 하기 위해 사용되는 표준 통신 프로토콜 
인터넷 상에서 이메일 클라이언트 ↔ 메일 서버 ↔ 수신자 메일 서버  간에 텍스트 기반 명령어 를 통해 메시지를 전송합니다.
📌 SMTP의 역할 
이메일 작성자 → 서버 전송 (Client to Server)  
이메일 서버 → 수신자 서버 전송 (Server to Server)  
전송만 가능 , 수신은 불가능  (수신은 POP3 또는 IMAP 프로토콜이 담당) 
📦 SMTP 흐름 요약 
https://www.youtube.com/watch?v=96inHerdQhA&list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44&index=51 [보낸 사람]
    ↓ SMTP
[보낸 사람 메일 서버]
    ↓ SMTP
[받는 사람 메일 서버]
    ↓ IMAP 또는 POP3
[받는 사람] 
✅ SMTP 기본 포트 
포트 용도 설명 25 기본 SMTP 포트 서버 간 메일 전송 (많이 차단됨) 465 SMTP over SSL (암호화) 구식이나 일부 서비스에서 사용 587 SMTP with STARTTLS ✅ 현재 권장되는 전송 방식 
📄 SMTP 주요 명령어 (명령 기반 프로토콜) 
명령어 설명 HELO / EHLO클라이언트가 서버에게 자신을 소개 MAIL FROM:발신자 이메일 주소 RCPT TO:수신자 이메일 주소 DATA본문 시작 (제목, 본문 등 포함) QUIT연결 종료 
SMTP는 사람이 타이핑할 수도 있을 정도로 단순한 텍스트 프로토콜입니다.
🔐 SMTP 보안 방식 
SMTP는 원래 암호화되지 않은 상태 로 설계되었기 때문에, 현대에서는 보안 강화가 필요합니다.
보안방식 설명 STARTTLS 일반 연결을 TLS로 승격 (587번 포트에서 사용) SMTPS (SSL) 암호화된 SMTP (465번 포트) 인증 필요 (AUTH) 대부분의 SMTP 서버는 사용자 인증 필수 
🛠 SMTP 클라이언트 구성 요소 (개발 시) 
SMTP 서버 주소 : ex) smtp.gmail.com, smtp.naver.com포트 번호 : 보통 587 (STARTTLS) 또는 465 (SSL)이메일 계정 정보 : 인증을 위한 ID / 앱 비밀번호TLS/SSL 설정 : 암호화 전송 필요보낸 사람, 받는 사람, 제목, 본문, 첨부파일 등  
📫 SMTP와 관련된 주요 용어 
용어 설명 MUA (Mail User Agent) 이메일 클라이언트 (ex. Outlook, Gmail 앱 등) MTA (Mail Transfer Agent) 메일 전송 서버 (SMTP 서버) MDA (Mail Delivery Agent) 메일 수신 및 보관 서버 (POP3/IMAP 서버) 
✅ POP3란? 
POP3 (Post Office Protocol version 3)는 원격 메일 서버에 저장된 이메일을 다운로드해서 로컬에 저장하는 수신 프로토콜 입니다.
SMTP 가 “이메일을 보내는” 프로토콜이라면POP3 는 “이메일을 받아오는” 데 사용됩니다. 
📦 POP3 기본 특징 
항목 설명 프로토콜 목적 메일 수신 (다운로드) 기본 포트 110 (일반), 995 (SSL)메시지 저장 방식 메일을 로컬로 다운로드하고 서버에서 삭제  (기본 동작) 연결 방식 단방향 (서버 → 클라이언트) 프로토콜 상태 상태 유지 없음 (Stateless) 대안 프로토콜 IMAP (보다 동기화 중심) 
📥 POP3 동작 흐름 
메일 클라이언트(Outlook, Thunderbird 등)가 POP3 서버에 연결 
사용자 인증 (ID/PW) 
서버에 저장된 메일을 다운로드 
다운로드 후 서버에서 메일 삭제 (옵션: 서버에 복사본 유지 가능) 
연결 종료 
 
📄 POP3 주요 명령어 
POP3는 텍스트 기반 명령어 로 동작합니다 (Telnet 등으로 직접 테스트 가능).
명령어 설명 USER username사용자 이름 입력 PASS password비밀번호 입력 STAT메시지 개수, 전체 크기 확인 LIST메시지 목록 확인 RETR nn번째 메시지 다운로드 DELE nn번째 메시지 삭제 요청 QUIT연결 종료 및 삭제 적용 
🔐 POP3 포트 및 암호화 
포트 설명 110 일반 POP3 (암호화 없음) 995 ✅ POP3 over SSL (보안 연결) 
🆚 POP3 vs IMAP 
항목 POP3 IMAP 메일 저장 위치 클라이언트 (로컬) 서버 (중앙 저장) 디바이스 동기화 ❌ 불가능 ✅ 가능 폴더 지원 ❌ 없음 ✅ 있음 서버에서 삭제 기본적으로 삭제 기본적으로 유지 사용 대상 단일 장치에서 메일 확인 여러 기기에서 메일 동기화 
POP3는 단일 장치 기반 , IMAP은 클라우드 기반 메일 관리 에 더 적합합니다.
📧 실제 메일 서비스의 POP3 설정 예시 
항목 값 서버 주소 pop.gmail.com포트 995보안 SSL 필수 인증 필요 ✅ ID, 앱 비밀번호 필요 
설정 경로: Gmail 설정 → 전달 및 POP/IMAP → POP 사용 설정
📧 POP3를 사용할 수 있는 클라이언트/환경 
데스크탑: Outlook, Thunderbird, Windows Mail 
모바일: 대부분의 이메일 앱에서 설정 가능 
.NET 또는 다른 언어에서 직접 구현 가능 (MailKit, OpenPop.NET 등 라이브러리 사용) 
 
📌 POP3 사용 시 주의사항 
항목 설명 ✅ 서버 저장 유무 설정 대부분 클라이언트에서 “서버에 복사본 유지” 옵션 있음 ❌ 여러 기기 동시 사용 어려움 한 번 내려받으면 다른 기기에서 확인 어려움 🔐 보안 필수 항상 SSL 포트를 사용해야 함 (995) 🔑 앱 비밀번호 사용 Gmail/Naver 등은 앱 비밀번호 요구 
📚 정리 요약 
항목 POP3 요약 목적 메일 수신 (다운로드 방식) 특징 클라이언트 중심, 단방향 기본 포트 110 (일반), 995 (SSL) 대체 프로토콜 IMAP (동기화 중심) 적합한 경우 단일 디바이스, 오프라인 사용 중심 환경 
📫 우분투 메일서버 구축 추가 자료 동영상 
✅ 우분투 Postfix 설치 
Sendmail은 복잡하고 보안에 취약해서, 보통은 Postfix 를 많이 사용
sudo apt update
sudo apt install postfix
sudo apt install mailutils 
Postfix가 설치되면 
설정
/etc/postfix/main.cf 
포트 변경
sudo vim /etc/postfix/master.cf
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       -       smtpd
3512      inet  n       -       y       -       -       smtpd
# 25번(smtp) 포트를 유지하면서 3512 포트를 추가