Mục lục
Giao thức SMTP là gì?
SMTP (Simple Mail Transfer Protocol) là một giao thức chuẩn TCP/IP dùng để truyền thư điện tử (email) qua internet. Giống như các giao thức khác, SMTP cho phép máy tính và máy chủ trao đổi dữ liệu bất kể phần cứng hoặc phần mềm bên dưới của chúng. Cũng giống như việc sử dụng một hình thức tiêu chuẩn hóa địa chỉ một phong bì thư cho phép dịch vụ bưu chính viễn thông hoạt động, SMTP tiêu chuẩn hóa cách thức gửi email từ người gửi đến người nhận, giúp cho việc gửi email rộng rãi có thể thực hiện được.
SMTP lần đầu tiên được xác định vào năm 1982, được định nghĩa trong bản RFC 821 (STD 10) và được chỉnh lý bằng bản RFC 1123 (STD 3), chương 5. Giao thức hiện dùng được là ESMTP (extended SMTP – SMTP mở rộng), được định nghĩa trong bản RFC 2821.
Các ứng dụng thư điện tử (MUA: Mail User Agent) thường sử dụng SMTP Client chỉ để gửi thư đến một máy chủ thư điện tử các mail transfer agents (MTA: dịch vụ chuyển thư) và từ máy chủ thư điện tử này sẽ sử dụng giao thức SMTP để gửi thư đến máy chủ thư điện tử khác và nhận thư từ máy chủ thư khác gửi đến, còn viêc truy xuất emails, các ứng dụng thư điện thử sẽ sử dụng giao thức IMAP hoặc POP3.
Máy chủ SMTP là gì?
Máy chủ SMTP là một máy chủ thư có thể gửi và nhận email bằng giao thức SMTP. Ứng dụng email khách kết nối trực tiếp với máy chủ SMTP của nhà cung cấp email để bắt đầu gửi email. Một số chương trình phần mềm khác nhau chạy trên máy chủ SMTP:
- Tác nhân gửi thư (MSA): MSA nhận email từ ứng dụng email.
- Tác nhân chuyển thư (MTA): MTA chuyển email đến máy chủ tiếp theo trong quá trình gửi thư, nó có thể truy vấn DNS để tìm bản ghi DNS (MX) của tên miền người nhận nếu cần.
- Đại lý gửi thư (MDA): MDA nhận email từ MTA và lưu trữ chúng trong hộp thư đến của người nhận.
Các cổng sử dụng SMTP
Đối với việc giao tiếp giữa máy khách đến máy chủ thư người ta sẽ thường gọi là SMTP Client, có thể sử dụng các cổng như sau: 25, 465, và 587. Với các cổng 465 là cổng sẽ được mã hóa với SSL và 587 cổng này sử dụng mã hóa TLS.
Tuy nhiên để các máy chủ thư giao tiếp và liên lạc với nhau thì cổng mặc định sẽ là 25.
Ngoài ra một số nhà cung cấp riêng lẻ có thể sử dụng cổng 2525 và các cổng khác nhưng chưa bao giờ được hỗ trợ chính thức.
Hoạt động của giao thức SMTP
Tất cả các giao thức mạng đều tuân theo một quy trình được xác định trước để trao đổi dữ liệu. SMTP định nghĩa một quy trình trao đổi dữ liệu giữa ứng dụng email khách và máy chủ thư. Ứng dụng email khách (MUA) là nơi người dùng tương tác vd: các phần mềm Outlook cài đặt trên máy tính hoặc ứng dụng web (webmail) nơi người dùng truy cập và gửi email. Máy chủ thư là một máy tính chuyên dụng dùng để gửi, nhận và chuyển tiếp thư điện tử, người dùng sẽ không tương tác trực tiếp với máy chủ thư.
Dưới đây là tóm tắt quá trình về những gì được chuyển đi của một thư điện tử giữa ứng dụng email khách và máy chủ thư:
- Kết nối SMTP: Vì SMTP sử dụng Giao thức TCP làm giao thức truyền tải, bước đầu tiên này bắt đầu với kết nối TCP giữa máy khách và máy chủ thư. Tiếp theo, ứng dụng email bắt đầu quá trình gửi email bằng lệnh “Xin chào” chuyên biệt (HELO hoặc EHLO, được mô tả bên dưới).
S: 220 www.example.com ESMTP Postfix
C: HELO mydomain.com
S: 250 Hello mydomain.com
C: MAIL FROM:<sender@mydomain.com>
S: 250 Ok
C: RCPT TO:<friend@example.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Subject: test message
C: From: sender@mydomain.com
C: To: friend@example.com
C:
C: Hello,
C: This is a test.
C: Goodbye.
C:.
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye
- Di chuyển dữ liệu email: Máy khách sẽ gửi cho máy chủ thư một loạt lệnh đi kèm với nội dung thực của email như sau: tiêu đề email (bao gồm đích và dòng chủ đề), nội dung email và các tệp đính kèm có trong thư.
- Mail Transfer Agent (MTA): Máy chủ chạy một chương trình được gọi là Mail Transfer Agent (MTA). MTA kiểm tra tên miền địa chỉ email của người nhận nếu nó khác với địa chỉ của người gửi, nó sẽ truy vấn Hệ thống tên miền (DNS) để tìm địa chỉ IP của máy chủ thư của người nhận . Điều này giống như một bưu điện tra cứu địa chỉ nhà hoặc mã zip của người nhận thư. Tiếp theo máy chủ thư của người gửi sẽ kết nối với máy chủ thư của người nhận thông qua giao thức SMTP và thực hiện truyền thư đi.
- Đóng kết nối: Máy khách thông báo cho máy chủ khi quá trình truyền dữ liệu hoàn tất và máy chủ đóng kết nối. Tại thời điểm này, máy chủ sẽ không nhận thêm dữ liệu email từ máy khách trừ khi máy khách mở một kết nối SMTP mới.
Thông thường, máy chủ email đầu tiên này không phải là đích cuối cùng của email thực tế. Máy chủ, sau khi nhận được email từ máy khách, lặp lại quá trình kết nối SMTP này với một máy chủ thư khác. Máy chủ thứ hai đó cũng làm như vậy, cho đến khi cuối cùng email đến được hộp thư đến của người nhận trên một máy chủ thư được kiểm soát bởi nhà cung cấp email của người nhận.
So sánh quá trình này với cách một phần thư đi từ người gửi đến người nhận. Người vận chuyển thư không trực tiếp đưa thư từ người gửi đến người nhận. Thay vào đó, người vận chuyển thư sẽ nhận thư từ gửi gửi và mang thư về lại bưu điện của họ. Tiếp theo bưu điện sẽ chuyển thư đến bưu cục khác ở thị trấn khác, rồi đến nơi khác, v.v. cho đến khi thư đến tay người nhận. Tương tự, các email đi từ máy chủ đến máy chủ thông qua SMTP cho đến khi chúng đến hộp thư đến của người nhận.
SMTP mở rộng (ESMTP) là gì?
Giao thức Truyền Thư Đơn giản Mở rộng (ESMTP) là một phiên bản của giao thức mở rộng dựa trên các khả năng ban đầu của nó, cho phép gửi các tệp đính kèm email, sử dụng TLS và các khả năng khác. Hầu hết tất cả các ứng dụng email và dịch vụ email đều sử dụng ESMTP, không phải SMTP cơ bản.
ESMTP có một số lệnh bổ sung, bao gồm “EHLO
“, thông báo “xin chào mở rộng” cho phép sử dụng ESMTP khi bắt đầu kết nối.
>>> Tham khảo các gói email doanh nghiệp giá rẻ an toàn và riêng tư tại đây.