Tổng Quan về SMTP – Simple Mail Transfer Protocol
Mục tiêu của SMTP
SMTP được thiết kế để chuyển giao thư điện tử một cách đáng tin cậy và hiệu quả, không phụ thuộc vào hệ thống truyền dẫn cụ thể. Yêu cầu duy nhất là một kênh truyền dữ liệu theo thứ tự và đáng tin cậy (thường là TCP).
Mặc dù phổ biến nhất là chạy trên TCP (cổng 25), nhưng về nguyên tắc, SMTP có thể hoạt động trên các kênh truyền khác.
1. Cơ Chế Hoạt Động
2. Mã Trạng Thái SMTP Quan Trọng
Máy khách phải biết cách:
3. Ví Dụ Cuộc Hội Thoại SMTP
4. Tiêu Đề “Phong Bì” (Envelope)
5. Tra Cứu DNS Trong SMTP
Khi gửi thư tới user@example.com, MTA sẽ:
Các loại bản ghi DNS liên quan:
6. Thuật Ngữ SMTP Cần Biết
7. Điểm Quan Trọng Khi Vận Hành SMTP
Mục tiêu của SMTP
SMTP được thiết kế để chuyển giao thư điện tử một cách đáng tin cậy và hiệu quả, không phụ thuộc vào hệ thống truyền dẫn cụ thể. Yêu cầu duy nhất là một kênh truyền dữ liệu theo thứ tự và đáng tin cậy (thường là TCP).
Mặc dù phổ biến nhất là chạy trên TCP (cổng 25), nhưng về nguyên tắc, SMTP có thể hoạt động trên các kênh truyền khác.
1. Cơ Chế Hoạt Động
- Máy khách SMTP (client) mở kết nối TCP tới máy chủ SMTP (server) trên cổng 25.
- Sau khi kết nối thành công, hai bên trao đổi lệnh và phản hồi theo định nghĩa của giao thức SMTP.
- Máy khách gửi:
- Địa chỉ người gửi (MAIL FROM)
- Một hoặc nhiều địa chỉ người nhận (RCPT TO)
- Nội dung thư (DATA)
- Máy chủ phản hồi bằng mã số trạng thái để cho biết lệnh được chấp nhận hay có lỗi.
2. Mã Trạng Thái SMTP Quan Trọng
| 2xx | Thành công, tiếp tục |
| 4xx | Lỗi tạm thời – thử lại sau |
| 5xx | Lỗi vĩnh viễn – từ bỏ |
Máy khách phải biết cách:
- Thử lại khi gặp lỗi tạm thời.
- Ngừng gửi khi gặp lỗi vĩnh viễn.
3. Ví Dụ Cuộc Hội Thoại SMTP
| Kết nối | 220 Xin chào |
| HELO client.example.com | 250 Rất vui được gặp bạn |
| MAIL FROM:sender@example.com | 250 OK |
| RCPT TO:user@example.com | 250 OK |
| DATA | 354 Nhập nội dung, kết thúc bằng <CRLF>.<CRLF> |
| (Gửi nội dung thư) | (Chờ dấu .) |
| . | 250 Đã nhận |
| QUIT | 221 Tạm biệt |
4. Tiêu Đề “Phong Bì” (Envelope)
- MAIL FROM: Người gửi phong bì (dùng cho thông báo lỗi giao thư, không nhất thiết trùng với “From” trong nội dung thư).
- RCPT TO: Người nhận phong bì.
- Địa chỉ đủ điều kiện: Bao gồm đầy đủ tên miền hợp lệ (FQDN), ví dụ:
- Hợp lệ: postmaster@server.example.com
- Không hợp lệ: postmaster@server hoặc postmaster
5. Tra Cứu DNS Trong SMTP
Khi gửi thư tới user@example.com, MTA sẽ:
- Tra bản ghi MX của example.com → biết máy chủ nhận email.
- Lấy bản ghi A của máy chủ đó → biết địa chỉ IP.
- Nếu không có MX nhưng có A → gửi trực tiếp đến IP.
Các loại bản ghi DNS liên quan:
- NS: Máy chủ tên cho miền.
- MX: Máy chủ nhận thư.
- A: Địa chỉ IP của máy chủ.
6. Thuật Ngữ SMTP Cần Biết
- MTA (Mail Transfer Agent): Phần mềm chuyển thư giữa các hệ thống. Ví dụ: Cisco ESA.
- MX Record: Bản ghi DNS xác định máy chủ nhận email và độ ưu tiên.
- A Record: Bản ghi DNS ánh xạ tên máy chủ sang địa chỉ IP.
- Mail Server (Groupware): Máy chủ nhận, lưu trữ, và phân phối thư (VD: Microsoft Exchange Server).
- SMTP Client: Thành phần khởi tạo kết nối gửi thư.
- SMTP Server: Thành phần nhận kết nối và xử lý thư đến.
- MUA (Mail User Agent): Ứng dụng người dùng (VD: Outlook, Thunderbird) để gửi/nhận thư.
7. Điểm Quan Trọng Khi Vận Hành SMTP
- Luôn dùng địa chỉ đầy đủ FQDN để tránh lỗi phân giải.
- Theo dõi tình trạng từng người nhận khi gửi nhiều RCPT TO.
- Quản lý tốt DNS, đặc biệt là MX và A Record để đảm bảo tính sẵn sàng của dịch vụ email.
- Hiểu rõ cơ chế lỗi tạm thời và lỗi vĩnh viễn để tránh gián đoạn giao thư.