SMTP/IMAP/POP3

SMTP/IMAP/POP3

πŸ“§ Email μ„œλ²„ ꡬ좕 (SMTP/IMAP/POP3) κ°€μ΄λ“œ πŸš€


1️⃣ Email μ„œλ²„λž€?

이메일 μ„œλ²„λŠ” 메일을 μ†‘μˆ˜μ‹  및 μ €μž₯ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€.
λŒ€ν‘œμ μΈ 이메일 ν”„λ‘œν† μ½œμ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

βœ… SMTP (Simple Mail Transfer Protocol)

메일을 λ³΄λ‚΄λŠ” ν”„λ‘œν† μ½œ (λ°œμ‹ )

βœ… IMAP (Internet Message Access Protocol)

μ„œλ²„μ—μ„œ 메일을 κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œν† μ½œ (μˆ˜μ‹ , μ„œλ²„ 동기화 κ°€λŠ₯)

βœ… POP3 (Post Office Protocol 3)

메일을 ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ‹€μš΄λ‘œλ“œν•˜λŠ” ν”„λ‘œν† μ½œ (μˆ˜μ‹ , μ„œλ²„μ—μ„œ μ‚­μ œ κ°€λŠ₯)

πŸ’‘ IMAPκ³Ό POP3 차이점

ν”„λ‘œν† μ½œ 방식 μž₯점 단점
IMAP μ„œλ²„ 동기화 μ—¬λŸ¬ κΈ°κΈ°μ—μ„œ 이메일 동기화 κ°€λŠ₯ μ„œλ²„ μ €μž₯ 곡간 ν•„μš”
POP3 λ‹€μš΄λ‘œλ“œ ν›„ μ‚­μ œ μ„œλ²„ μš©λŸ‰ μ ˆμ•½ ν•œ κΈ°κΈ°μ—μ„œλ§Œ μ‚¬μš© κ°€λŠ₯

2️⃣ Email μ„œλ²„ μ„€μΉ˜ (Postfix + Dovecot)

βœ… Postfix: SMTP(메일 λ°œμ†‘) μ„œλ²„
βœ… Dovecot: IMAP/POP3(메일 μˆ˜μ‹ ) μ„œλ²„

πŸ”Ή Ubuntu/Debianμ—μ„œ μ„€μΉ˜

sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d -y

πŸ”Ή CentOS/RHELμ—μ„œ μ„€μΉ˜

sudo yum install postfix dovecot -y

μ„€μΉ˜ ν›„ μ„œλΉ„μŠ€ ν™œμ„±ν™” 및 확인

sudo systemctl enable postfix dovecot
sudo systemctl start postfix dovecot
sudo systemctl status postfix dovecot

3️⃣ SMTP μ„œλ²„ μ„€μ • (Postfix)

μ„€μ • 파일: /etc/postfix/main.cf

sudo nano /etc/postfix/main.cf

πŸ“Œ 1. 도메인 및 호슀트 μ„€μ •

myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all

πŸ“Œ 2. 메일 릴레이 차단 (슀팸 λ°©μ§€)

smtpd_recipient_restrictions = 
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination

πŸ“Œ 3. μ„€μ • 적용 및 μ„œλΉ„μŠ€ μž¬μ‹œμž‘

sudo systemctl restart postfix

4️⃣ IMAP/POP3 μ„œλ²„ μ„€μ • (Dovecot)

μ„€μ • 파일: /etc/dovecot/dovecot.conf

sudo nano /etc/dovecot/dovecot.conf

πŸ“Œ 1. ν”„λ‘œν† μ½œ ν™œμ„±ν™”

protocols = imap pop3 lmtp

πŸ“Œ 2. 메일 μ €μž₯ μœ„μΉ˜ μ§€μ •

mail_location = maildir:~/Maildir

πŸ“Œ 3. μ„œλΉ„μŠ€ μž¬μ‹œμž‘

sudo systemctl restart dovecot

5️⃣ Email μ„œλ²„ λ°©ν™”λ²½ μ„€μ •

βœ… 메일 μ„œλΉ„μŠ€μ— ν•„μš”ν•œ 포트 개방

μ„œλΉ„μŠ€ 포트
SMTP 25, 587 (TLS)
IMAP 143, 993 (SSL)
POP3 110, 995 (SSL)

πŸ”Ή UFW (Ubuntu/Debian)

sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 143/tcp
sudo ufw allow 993/tcp
sudo ufw allow 110/tcp
sudo ufw allow 995/tcp
sudo ufw reload

πŸ”Ή firewalld (CentOS/RHEL)

sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --reload

6️⃣ 이메일 μ†‘μˆ˜μ‹  ν…ŒμŠ€νŠΈ

πŸ“Œ 1. SMTP ν…ŒμŠ€νŠΈ (메일 보내기)

echo "Test Email" | mail -s "Test Subject" user@example.com

πŸ“Œ 2. IMAP/POP3 μ—°κ²° ν…ŒμŠ€νŠΈ

telnet mail.example.com 143  # IMAP
telnet mail.example.com 110  # POP3

TLS/SSL을 μ‚¬μš©ν•  경우

openssl s_client -connect mail.example.com:993 -crlf
openssl s_client -connect mail.example.com:995 -crlf

7️⃣ 웹메일 (Roundcube) μ„€μ • (선택)

βœ… μ›Ήμ—μ„œ 이메일을 ν™•μΈν•˜λ €λ©΄ Roundcube 같은 웹메일 ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μ„€μΉ˜ κ°€λŠ₯

sudo apt install roundcube -y

μ„€μΉ˜ ν›„ /etc/apache2/sites-available/roundcube.conf 섀정을 μΆ”κ°€ν•˜μ—¬ 웹메일 μ‚¬μš© κ°€λŠ₯ πŸš€


8️⃣ Email μ„œλ²„ 둜그 및 문제 ν•΄κ²°

πŸ“Œ 1. Postfix 둜그 확인

sudo journalctl -u postfix -f

πŸ“Œ 2. Dovecot 둜그 확인

sudo journalctl -u dovecot -f

πŸ“Œ 3. 메일 큐 확인

mailq

πŸ“Œ 4. DNS λ ˆμ½”λ“œ (MX, SPF, DKIM) 확인

dig MX example.com

9️⃣ κ²°λ‘  πŸš€

βœ… SMTP(Postfix) + IMAP/POP3(Dovecot) μ‘°ν•©μœΌλ‘œ Email μ„œλ²„λ₯Ό ꡬ좕할 수 μžˆμŠ΅λ‹ˆλ‹€.
βœ… DNS μ„€μ • (MX, SPF, DKIM, DMARC)을 μΆ”κ°€ν•˜λ©΄ λ³΄μ•ˆ κ°•ν™” κ°€λŠ₯ν•©λ‹ˆλ‹€.
βœ… 웹메일(Roundcube)κ³Ό μ—°λ™ν•˜λ©΄ λΈŒλΌμš°μ €μ—μ„œλ„ 이메일을 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“š μΆ”κ°€ 자료
1️⃣ Postfix 곡식 λ¬Έμ„œ
2️⃣ Dovecot 곡식 λ¬Έμ„œ
3️⃣ Roundcube 웹메일

RSS Feed
λ§ˆμ§€λ§‰ μˆ˜μ •μΌμž