Liên hệ tư vấn

Mail Server là gì? Những yếu tố cơ bản của Mail Server


Để hệ thống mail Server hoạt động tốt cần rất nhiều các yếu tố cấu thành như: Hệ thống Mail User Agent, Mail Transfer Agent, các chuẩn cho phép hệ thống thư điện tử giao tiếp với nhau. Trong bài viết này sẽ giới thiệu chi tiết về điều đó.

mail-server-la-gi

Mail Server là gì

Trên thực tế, trong những cơ quan và hãng xưởng lớn, máy máy tính của người gửi thư không gửi trực tiếp tới máy máy tính của người nhận mà thường qua các máy chủ thư điện tử (mail servers).

Ví dụ: quá trình gửi thư

qua-trinh-gui-mail
Gửi thư từ A đến B

Như Hình 1.1. cho thấy, nếu như một người ở máy A gửi tới một người ở máy B một lá thư thì trước nhất máy A sẽ gửi đến máy chủ thư điện tử X. Khi trạm phục vụ thư X nhận được thư từ máy A thì X sẽ chuyển tiếp cho máy chủ thư điện tử Y. Khi trạm phục vụ thư Y nhận được thư từ X thì Y sẽ chuyển thư tới máy B là nơi người nhận. Trường hợp máy B bị trục trặc thì máy chủ thư Y sẽ giữ thư.

Những yếu tố cơ bản của hệ thống Mail Server

Mục tiêu: Giới thiệu cho người dùng các ứng dụng của dịch vụ thư điện tử cũng như cơ chế truyền thư của các ứng dụng đó

Hầu hết hệt thống thư điện tử được chia làm các phần như sau :

  • Mail User Agent (MUA)
  • Mail Transfer Agent (MTA)
  • Mail Delivery Agent (MDA)

Mail User Agent (MUA)

Là ứng dụng cho phép người dùng có thể truy nhập vào mail server để lấy về các thư của người dùng (sử  dụng POP) hoặc xem trực tiếp thư trên server (sử dụng IMAP) MUA còn cho phép người dùng tạo và gửi thư. Thư được chuyển đến MTA quản  lý  người dùng (sử dụng SMTP). MUA không trực tiếp chuyển thư đến người nhận. Các phần mềm ứng dụng thông dụng của MUAs là Outlook Express, Microsoft  Outlook, Windows mailPine

MUA là chương trình quản lý thư đầu cuối cho phép người dùng có thể đọc, viết và lấy thư về từ MTA.

  • MUA có thể lấy thư từ MTA về để xử lý (sử dụng POP) hoặc chuyển tiếp đến một MTA khác (SMTP).
  • Hoặc MUA có thể xử lý trực tiếp thư ngay trên MTA (sử dụng IMAP)

Đằng sau những công việc vận chuyển thì chức năng chính của MUA là cung cấp giao diện cho người dùng tương tác với thư, gồm có:

  • Soạn thảo, gửi thư
  • Hiển thị thư, gồm cả các file đính kèm
  • Gửi trả hay chuyển tiếp thư
  • Gắn các file vào các thư gửi đi (Text, HTML, MIME .v.v. ) Thay đổi các tham số (ví dụ như server được sử dụng, kiểu hiển thị thư, kiểu mã hóa thư .v.v.)

Thao tác trên các thư mục thư địa phương và ở đầu xa

  • Cung cấp sổ địa chỉ thư (danh bạ địa chỉ)
  • Lọc thư
hoat-dong-cua-mua-mta
Hoạt động của MTA, MUA

Trong mục 1 và 2 chúng ta đã đề cập rất nhiều đến SMTP, POP, IMAP

Để có thể hiểu rõ về các giao thức này cũng như về hệ thống thư điện tử, các bạn hãy tìm hiểu tại các mục phía sau.

Mail Transfer Agent (MTA) là gì trên Mail Server

MTA là ứng dụng cho phép gửi và nhận thư sử dụng SMTP trên Mail Server. Cho các thư chuyển đi MTA xác định địa chỉ của người nhận và xác định nếu địa chỉ người nhận ngay tại hệ thông thì nó sẽ

chuyển trực tiếp vào hộp thư của người nhận tại hệ thống hoặc thông qua MDA để chuyển đi. Nếu người nhận là một địa chỉ khác thì MTA sẽ thiết lập kết nối đến một MTA quản lý người nhận để chuyển thư đến sử dụng giao thức SMTP. Các ví dụ về các phần mềm quản lý mail MTA là: Mdaemon, Exchange server, sendMail, Qmail

Những nhiệm vụ chính của MTA

Khi các bức thư được gửi đến từ MUA. MTA có nhiệm vụ nhận diện người gửi và người nhận từ thông tin đóng gói trong phần header của thư và điền các thông tin cần thiết vào đó. Sau đó MTA chuyển thư cho MDA để MDA chuyển đến hộp thư ngay tại MTA hoặc đến MTA khác.

Chú ý: Thông tin đóng gói được thêm vào thư như một phần của giao thức SMTP. Nó thường được thêm vào hay thay đổi tự động bởi phần mềm hệ thống thư.

Các bức thư có thể chuyển qua nhiều MTA và được viết lại vài lần, đặc biệt khi cần phải chuyển sang các định dạng riêng. Một phần hay cả bức thư có thể phải viết lại tại bởi các MTA trên đường đi.

Việc chuyển giao các bức thư được các MTA quyết định dựa trên địa chỉ người nhận tìm thấy trên phong bì:

  • Nếu nó trùng với hộp thư địa phương, bức thư được chuyển cho MDA

địa phương để chuyển cho hộp thư.

  • Nếu địa chỉ gửi bị lỗi, bức thư có thể được chuyển trở lại người gửi.
  • Nếu không bị lỗi nhưng không phải là bức thư địa phương (non- local), tên miền (domain) được sử dụng để quyết định xem server nào sẽ nhận thư, theo các bản ghi MX trên hệ thống tên miền (chúng ta sẽ đi sâu vào các khái niệm DNS và domain trong các mục phía sau)
  • Khi các bản ghi MX xác định được MTA quản lý tên miền đó thì không có nghĩa là người nhận thuộc địa phương vùng đó. MTA có thể đơn giản chung chuyển (relay) thư cho MTA khác, hoặc có thể định tuyến bức thư cho địa chỉ khác như vai trò của một dịch vụ domain ảo (domain gateway), ví dụ như thay đổi thông tin người nhận trên phong bì trước khi chuyển thư đi.

Mail Delivery Agent (MDA)

Là một chương trình được MTA sử dụng để đẩy các bản tin vào hộp thư của người dùng và có tác dụng lọc kiểm tra thư trước khi chuyển vào hộp thư người sử dụng.

Chú ý: Các sản phẩm thương mại thường ẩn dấu những khác biệt giữa các nhân tố logic này với người dùng. Ví dụ chương trình Microsoft Exchange có ít nhất một MTA, cộng thêm vài MDA.

Dưới đây là sơ đồ tổng quan của hệ thống thư điện tử.

so-do-tong-quan-ve-he-thong-email
Sơ đồ tổng quan hệ thống thư điện tử Chúng ta sẽ dần dần tìm hiểu kỹ các nhân tố này.

Giới thiệu về giao thức SMTP

Công việc phát triển các hệ thống thư điện tử (Mail System) đòi hỏi phải hình thành  các chuẩn chung về thư điện tử. Điều này giúp cho việc gửi, nhận các thông điệp được đảm bảo, làm cho những người ở các nơi khác nhau có thể trao đổi thông tin cho nhau.

Có 2 chuẩn về thư điện tử quan trọng nhất và được sử dụng nhiều nhất từ trước đến nay là X.400 và SMTP (Simple Mail Transfer Protocol). SMTP thường đi kèm với chuẩn POP3. Mục đích chính của X.400 là cho phép các E- mail có thể được truyền nhận thông qua các loại mạng khác nhau bất chấp cấu hình phần cứng, hệ điều hành mạng, giao thức truyền dẫn được dùng.

Còn chuẩn SMTP miêu tả cách điều khiển các thông điệp trên mạng Internet. Điều quan trọng của chuẩn SMTP là giả định máy nhận phải dùng giao thức SMTP gửi thư điện tử cho một máy chủ luôn luôn hoạt động. Sau đó, người nhận sẽ đến lấy thư từ máy chủ khi nào họ muốn dùng giao  thức POP (Post Office Protocol), ngày nay POP được cải tiến thành POP3 (Post Officce Protocol version 3).

hoat-dong-cua-pop-smtp
Hoạt động của POP và SMTP

Thủ tục chuẩn trên Internet để nhận và gửi của thư điện tử là SMTP (Simple Mail Transport Protocol). SMTP là thủ tục phát triển ở mức ứng dụng trong mô hình 7 lớp OSI cho phép gửi các bức điện trên mạng TCP/IP. SMTP được phát triển vào năm 1982 bởi tổ chức  IETF  (Internet  Engineering Task Force) và được chuẩn hoá theo tiêu chuẩn RFCs 821 và 822. SMTP sử dụng cổng 25 của TCP.

Mặc dù SMTP là thủ tục gửi và nhận thư điện tử phổ biến nhất nhưng nó vẫn còn thiếu một số đặc điểm quan trọng có trong thủ tục X400. Phần yếu nhất của SMTP là thiếu khả năng hỗ trợ cho các bức điện không phải dạng Text.

Ngoài ra SMTP cũng có kết hợp thêm hai thủ tục khác hỗ trợ cho việc lấy thư là POP3 và IMAP4.

MIME và SMTP trên Mail Server

MIME (Multipurpose Internet Mail Extensions) cung cấp  thêm  khả năng cho SMTP và cho phép các file có dạng mã hoá đa phương tiện (multimedia) đi kèm với bức điện SMTP chuẩn. MIME sử dụng bảng mã Base64 để chuyển các file dạng phức tạp sang mã ASCII để chuyển đi.

MIME là một tiêu chuẩn mới như nó hiện đã được hỗ trợ bởi hầu hết các ứng dụng, và bạn phải thay đổi nếu chương trình thư điện tử của bạn không có hỗ trợ MIME. MIME được quy chuẩn trong các tiêu chuẩn RFC 2045-2049

S/MIME

Là một chuẩn mới của MIME cho phép hỗ trợ cho các bức điện được mã hoá. S/MIME dựa trên kỹ thuật mã hoá công cộng RSA   và giúp cho bức điện không bị xem trộm hoặc chặn lấy.

RSA Public Key/Private Key Authentication

Viết tắt cho Rivest, Shamir, và Adelman, là những người khám phá ra cách mã hoá này, RSA cung cấp cặp khoá public key/private key (khoá công cộng/khoá riêng) để mã hoá. Dữ liệu sẽ được mã hoá bởi khoá công cộng và chỉ có thể được giải mã bởi khoá riêng. Với S/MIME, người gửi sẽ sử dụng một chuỗi mã  hoá ngẫu nhiên sử dụng khoá công cộng của người  nhận. Người nhận sẽ giải mã điện bằng cách sử dụng khoá riêng. Muốn nghiên cứu kỹ về mã hoá RSA vào trang web http://www.rsa.com

S/MIME được định nghĩa trong các tiêu chuẩn RFCs 2311 và 2312.

Lệnh của SMTP

SMTP sử dụng một cách đơn giản các câu lệnh ngắn để điều khiển bức điện. Bảng ở dưới là danh sách các lệnh của SMTP

Các lệnh của SMTP được xác định trong tiêu chuẩn RFC 821

LệnhMô tả
HELOHello.  Sử  dụng  để  xác  định  người  gửi  điện.  Lệnhnày này đi kèm  với  tên  của  host  gửi  điện.  Trong ESTMP  (extended protocol), thì lệnh này sẽ là EHLO.
MAILKhởi tạo một giao dịch gửi thư. Nó kết hợp “from” đểxác định người gửi thư.
RCPTXác định người nhận thư.
DATAThông báo bắt đầu nội dung thực sự của bức điện (phần thân của thư). Dữ liệu được mã thành dạng mã 128-bit ASCII  và nó được kết thúc với một dòng đơn
RSETHuỷ bỏ giao dịch thư
VRFYSử dụng để xác thực người nhận thư.
NOOPNó là lệnh  “no operation” xác định không thực hiện hành động
QUITThoát khỏi tiến trình để kết thúc
SENDCho host nhận biết rằng thư còn phải gửi đến đầu cuối
Sau đây là những lệnh khác nhưng không yêu cầu phải có. Xác định bởi RFC
SOMLSend or mail. Báo với host nhận thư rằng thư phải gửiđến đầu cuối khác hoặc hộp thư.
SAMLSend and mail. Nói với host nhận rằng bức điện phả gửi tới người dùng đầu cuối và hộp thư.
EXPNSử dụng mở rộng cho một mailing list.
HELPYêu cầu thông tin giúp đỡ từ đầu nhận thư.
TURNYêu cầu để host nhận giữ vai trò là host gửi thư.

Mã trạng thái của SMTP

Khi một MTA gửi một lệnh SMTP tới MTA nhận thì MTA nhận sẽ trả lời với một mã trạng thái để cho người gửi biết đang có việc gì xảy ra tại đầu nhận. Và dưới đây là bảng mã trạng thái của SMTP theo tiêu chuẩn RFC 821. Mức độ của trạng thái được xác định bởi số đầu tiên của mã (5xx là lỗi nặng, 4xx là lỗi tạm thời, 1xx–3xx là hoạt động bình thường).

SMTP mở rộng (Extended SMTP) trên Mail Server

SMTP thì được cải tiến để ngày càng đáp ứng nhu cầu cao của người dùng và là một thủ tục ngày càng có ích. Nhưng dù sao cũng cần có sự mở rộng tiêu chuẩn SMTP, và chuẩn RFC 1869 ra đời để bổ sung cho SMTP. Nó không chỉ mở rộng mà còn cung cấp thêm các tính năng cần thiết cho các lệnh có sẵn. Ví dụ: lệnh SIZE là lệnh mở rộng cho phép nhận giới hạn độ lớn của bức điện đến. Không có ESMTP thì sẽ không giới hạn được độ lớn của bức thư.

Khi hệ thống kết nối với một MTA, nó sẽ sử dụng khởi tạo thì ESMTP thay HELO bằng EHLO. Nếu MTA có hỗ trợ SMTP mở rộng (ESMTP) thì nó sẽ

trả lời với một danh sách các lệnh mà nó sẽ hỗ trợ. Nếu không nó sẽ trả lời với mã lệnh sai (500 Command not recognized) và host gửi sẽ quay trở về sử dụng SMTP.

Các lệnh cơ bản của ESMTP

LệnMô tả
EHLOSử dụng ESMTP thay cho HELO của
8BITMIMESử dụng 8-bit MIME cho mã dữ liệu
SIZESử dụng giới hạn độ lớn của bức điện

SMTP Headers

Có thể lấy được rất nhiều thông tin có ích bằng cách kiểm tra phần header của thư. Không chỉ xem được  bức điện từ đâu đến, chủ đề  của thư, ngày gửi và những người nhận. Bạn còn có thể xem được những điểm mà bức điện đã đi qua trước khi đến được hộp thư của bạn. Tiêu chuẩn RFC 822 quy định header chứa những gì. Tối thiểu có người gửi (from), ngày gửi  và người nhận (TO, CC, hoặc BCC)

Header của thư khi nhận được cho phép bạn xem bức điện đã đi qua những đâu trước khi đến hộp thư của bạn. Nó là một dụng cụ rất tốt để kiểm tra và giải quyết lỗi. Sau đây là ví dụ:

Trên  ví dụ trên có thể thấy bức điện được  gửi đi

từ someone@mydomain.com. Từ mydomain.com, nó được chuyển đến host1. Bức điện được gửi từ host2 tới host1 và chuyển tới người dùng. Mỗi chỗ bức điện dừng lại thì host nhận được yêu cầu điền thêm thông tin vào header nó bao gồm ngày giờ tạm dừng ở  đó.  Host2  thông  báo  rằng  nó  nhận  được điện lúc 11:33:00. Host1 thông báo rằng nó nhận được bức điện vào lúc 11:34:36, Sự chênh lệch hơn một phút có khả năng là do sự không đồng bộ giữa đồng hồ của hai nơi.

Thuận lợi và bất lợi của SMTP

Như thủ tục X.400, SMTP có một số thuận lợi và bất lợi

Thuận lợi bao gồm:

  • SMTP rất phổ biến.
  • Nó được hỗ trợ bởi nhiều tổ chức
  • .SMTP có giá thành quản trị và duy trì thấp.
  • SMTP nó có cấu trúc địa chỉ đơn giản.

Bất lợi bao gồm:

  • SMTP thiếu một số chức năng
  • SMTP thiếu khả năng bảo mật như X.400.
  • Nó chỉ giới hạn vào những tính năng đơn giản nhất.

Giới thiệu về giao thức POP và IMAP của Mail Server

Trong nhưng ngày tháng đầu tiên của thư điện tử, người dùng được yêu cầu truy  nhập  vào  máy  chủ  thư  điện  tử  và  đọc  các  bức  điện  của  họ ở đó. Các chương trình thư thường sử dụng dạng  text  và  thiếu khả  năng thân thiện với người dùng. Để giải quyết vấn  đề  đó  một  số  thủ  tục  được phát triển để cho phép người dùng có thể lấy thư về máy của họ hoặc có các giao diện sử dụng thân thiện hơn với người dùng. Và chính điều đó đem đến sự phổ biến của thư điện tử.

Có hai thủ tục được sử dụng phổ biến nhất để lấy thư về hiện nay là POP (Post Office Protocol) và IMAP (Internet Mail Access Protocol).

Post Office Protocol (POP)

POP cho phép người dùng có account tại máy chủ thư điện tử kết nối vào MTA và lấy thư về máy tính của mình, ở đó có thể đọc và trả lời lại. POP được phát triển đầu tiên là vào năm 1984 và được nâng cấp từ bản POP2 lên POP3 vào năm 1988. Và hiện nay hầu hết người dùng sử dụng tiêu chuẩn POP3

POP3 kết nối trên nền TCP/IP để đến máy chủ thư điện tử (sử dụng cổng 110). Người dùng điền username và password. Sau khi xác thực đầu máy khách sẽ sử dụng các lệnh của POP3 để lấy hoặc xoá thư.

POP3 chỉ là thủ tục để lấy thư trên máy chủ thư điện tử. POP3 được quy định bởi tiêu chuẩn RFC 1939.

Lệnh của POP3

LệnhMiêu tả
USERXác định username
PASSXác định password
STATYêu  cầu  về  trạng  thái  của  hộp  thư  như  số lượng thư và độ lớn của thư
LISTHiện danh sách của thư
RETRNhận thư
DELEXoá một bức thư xác định
NOOPKhông làm gì cả
RSETKhôi phục lại những thư đã xoá (rollback)
QUITThực hiện việc thay đổi và thoát ra

Internet Mail Access Protocol (IMAP)

Thủ tục POP3 là một thủ tục rất có ích và sử dụng rất đơn giản để lấy thư về cho người dùng. Nhưng sự đơn giản đó cũng đem đến việc thiếu một số công dụng cần thiết. Ví dụ: POP3 chỉ làm  việc  với  chế  độ  offline  có nghĩa là thư được lấy về sẽ bị xoá trên server.

IMAP thì hỗ  trợ những thiếu  sót của  POP3. IMAP được  phát triển vào năm 1986 bởi trường đại học Stanford. IMAP2 phát triển vào năm 1987. IMAP4, là bản mới nhất đang được sử dụng và nó được các tổ chức tiêu chuẩn Internet chấp nhận vào năm 1994. IMAP4 được quy định bởi tiêu chuẩn RFC 2060 và nó sử dụng cổng 143 của TCP

Lệnh của IMAP4

LệnhMô tả
CAPABILITYYêu cầu danh sách các chức năng hỗ trợ
AUTHENTICATEXác định sử dụng xác thực từ một server khác
LOGINCung cấp username và password
SELECTChọn hộp thư
EXAMINEĐiền hộp thư chỉ được phép đọc
LệnhMô tả
CREATETạo hộp thư
DELETEXoá hộp thư
RENAMEĐổi tên hộp thư
SUBSCRIBEThêm vào một list đang hoạt động
UNSUBSCRIBDời khỏi list đang hoạt động
LISTDanh sách hộp thư
LSUBHiện danh sách người sử dụng hộp thư
STATUSTrạng thái của hộp thư (số lượng thư,…)
APPENDThêm message vào hộp thư
CHECKYêu cầu kiểm tra hộp thư
CLOSEThực hiện xoá và thoát khỏi hộp thư
EXPUNGEThực hiện xoá
SEARCHTìm kiếm trong hộp thư để tìm messages xác định
FETCHTìm kiếm trong nội dung của message
STOREThay đổi nội dụng của messages
COPYCopy message sang hộp thư khác
NOOPKhông làm gì
LOGOUTĐóng kết nối

So sánh POP3 và IMAP4 của Mail Server

Có rất nhiều điểm khác nhau giữa POP3 và IMAP4. Phụ thuộc vào người dùng, MTA, và sự cần thiết , Có thể sử dụng POP3, IMAP4 hoặc cả hai.

Lợi ích của POP3 là :

  • Rất đơn giản.
  • Được hỗ trợ rất rộng
  • Bởi rất đơn giản nên POP3 có rất nhiều giới hạn. Ví dụ nó chỉ hỗ trợ sử dụng một hộp thư và thư sẽ được xoá khỏi máy chủ thư điện tử khi lấy về IMAP4 có những lợi ích khác:
  • Hỗ trợ xác thực rất mạnh
  • Hỗ trợ sử dụng nhiều hộp thư
  • Đặc biệt hỗ trợ cho các chế việc làm việc  online, offline, hoặc không kết nối IMAP4 ở chế độ online thì hỗ trợ cho việc lấy tập hợp các thư từ máy chủ, tìm kiếm và lấy message cần tìm về …IMAP4 cũng cho phép người dùng chuyển thư từ thư mục này của máy chủ sang thư mục khác hoặc xoá thư. IMAP4 hỗ trợ rất tốt cho người dùng hay phải di chuyển và phải sử dụng các máy tính khác nhau.

Kết luận

Như vậy trong bài viết này chúng tôi đã giới thiệu chi tiết về hệ thống Mail Server và các yếu tố cấu thành Mail Server. Nếu như bài viết vẫn chưa giải quyết được vấn đề của bạn, vui lòng để lại bình luận. Chúng tôi sẽ rất vui nếu được hỗ trợ bạn.

Ngoài ra, bạn cũng có thể tìm hiểu thêm về các ứng dụng hỗ trợ gửi email nhanh chóng và tiện lợi thông qua giao thức SMTP, ví dụ như: WP Mail SMTPMail server OutlookSMTP Office 365MailtrapPHP Mailer,…

Xin cám ơn và chúc bạn thành công.


Đánh giá: 

(0 lượt)
Lưu ý:

*Thông tin trong bài viết đều là những kiến thức chuyên môn và kinh nghiệm thực tế của đội ngũ sáng tạo tại MDIGI . Mọi hành vi sao chép vui lòng ghi trích dẫn nguồn MDIGI.vn! Xem Điều khoản & điều kiện của Chúng tôi.

*Cập nhật mới nhất ngày: 26/05/2023

Đôi nét về tác giả Mạnh Đức

Mạnh Đức

Tốt nghiệp Đại học kỹ thuật Lê Quý Đôn năm 2018 nhưng đã bắt đầu với Digital Marketing từ những năm 2015. Với kinh nghiệm thực chiến từ hàng trăm dự án, Mạnh Đức muốn mang những gì tốt nhất cho khách hàng của MDIGI.

12 bài viết cùng chủ đề Email Hosting

Hướng dẫn cài WP Mail SMTP cho WordPress từ A-Z
PHP Mailer là gì? Những lưu ý khi sử dụng
Mailtrap là gì? Lợi ích khi sử dụng Mailtrap
SMTP Gmail là gì? Cách sử dụng SMTP Gmail
Gmail là gì? Giới thiệu từ A-Z về Gmail
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận