Computer trivia: What yellow smiley interface for computer newbie’s was quickly downsized by Microsoft?
Answer: Microsoft Bob.
Electronic Mail (email – thư điện tử)
Email Client (trình duyệt thư)
- Email client cho bạn thấy một danh sách mesage trong hộp thư của bạn bằng cách hiển thị message header (đầu mục của thư). Message header này chỉ cho bạn ai đã gửi message, tiêu đề của message, và những thông tin khác như thời gian gửi, thời gian nhận, kích cỡ…
- Email client cho phép bạn chọn và đọc nội dung của một message
- Email client cho phép bạn tạo một message mới và gửi nó đi. Bạn nhập vào địa chỉ người gửi, tiêu đề và nội dung của message…
- Hầu hết các email client cho phép đính kèm file, văn bản, hình ảnh… vào message gửi đi và lưu những đính kèm khác từ message nhận được.Những email client phức tạp còn có thể có những chức năng khác nhưng nói chung về bản chất, đấy là tất cả những gì mà một email client có.
Một máy chủ email đơn giản
Bạn đã có email client trên máy tính của bạn, bạn đã sẵn sàng để gửi và nhận thư điện tử. Tất cả bạn cần bây giờ là một máy chủ thư điện tử để email client kết nối đến. Hãy tưởng tượng cách đơn giản nhất một máy chủ thư điện tử sẽ như thế nào để hiểu khái niệm cơ bản của tiến trình. Sau đó chúng ta sẽ đi vào thực tế.
Nếu bạn đã đọc “Máy chủ web và Internet hoạt động thế nào”, thì bạn sẽ biết rằng những hệ thống máy tính trên Internet có thể chạy những phần mềm ứng dụng được gọi là Server (Máy chủ, máy phục vụ). Chúng gồm những loại server như Web server (máy chủ web), FTP server (máy chủ truyền file), Telnet server (máy chủ telnet) và Email server (máy chủ thư điện tử)… Những máy chủ này chạy suốt ngày đêm và kiểm tra những “cổng đặc biệt” (Specific ports), chờ đợi những chương trình kết nối vào các cổng đó. Một máy chủ email đơn giản nhất sẽ làm những việc như sau:
- Nó sẽ có một danh sách tài khoản email, với mỗi tài khoản ứng với mỗi người có thể nhận email trên máy chủ. Tên tài khoản của bạn có thể là lelan, tranmai hoặc tương tự.
- Nó sẽ có một file văn bản ứng với mỗi tài khoản trong danh sách. File văn bản trong danh sách có thể sẽ là lelan.txt, tranmai.txt hoặc tương tự.
- Nếu một ai đó muốn gửi một message ngắn (ví dụ “Lan, Chủ nhật này đi ăn trưa nhé. Mai”) trong một email client và chỉ ra rằng bức thư này sẽ được gửi đến cho Lan. Khi người đó ấn chuột vào nút gửi, email client sẽ kết nối tới máy chủ thư điện tử và chuyển cho máy chủ tên của người nhận (Lan), tên của người gửi và nội dung của bức thư.
- Máy chủ sẽ định dạng đoạn văn bản ngắn này và gắn nó vào phần cuối của file lelan.txt. Phần thêm vào của file sẽ có dạng như sau:
- From: tranmai
- To: lelan
- Lan,
- Chủ nhật này đi ăn trưa nhé.
- Mai
- Hỏi máy chủ để gửi một bản sao của file lelan.txt
- Hỏi máy chủ để xoá và điều chỉnh lại file lelan.txt
- Lưu file lelan.txt trên máy tính cục bộ
- Phân tích file lelan.txt ra từng bức thư riêng biệt (tìm từ “From” để tách các bức thư)
- Hiển thị cho Lan tất cả các message header (đầu mục thư) theo danh sách
Khi Lan nhấn đúp chuột lên một đầu mục thư, trình duyệt sẽ tìm nội dung thư đó trong file lelan.txt và hiển thị lên.
Bạn phải thừa nhận rằng đây là một hệ thống rất đơn giản. Thật là ngạc nhiên những hệ thống máy chủ email trong thực tế bạn sử dụng hàng ngày đều không phức tạp hơn.
Hệ thống thư điện tử ngày nay
Một hệ thống thư điện tử bao gồm hai ứng dụng khác nhau cùng chạy trên một máy chủ. Ứng dụng thứ nhất gọi là máy chủ SMTP (SMTP server – Simple Mail Transfer Protocol – Giao thức truyền thư đơn giản). Máy chủ SMTP xử lý thư điện tử đi. Ứng dụng còn lại gọi là máy chủ POP3 (POP3 server – Post Office Protocol – Giao thức hộp thư). Máy chủ POP3 xử lý thư đến. Một máy chủ thư điện tử điển hình có định dạng như hình vẽ sau:
Ứng dụng SMTP kiểm soát cổng số 25 trong khi ứng dụng POP3 kiểm soát cổng 110 (xem “Máy chủ web và Internet hoạt động thế nào” để biết chi tiết về các cổng).
SMTP server
Mỗi khi bạn gửi một message, email client của bạn tương tác với SMTP server để xử lý việc gửi. SMTP server trên máy chủ của bạn có thể có giao tiếp với SMTP server trên máy chủ khác để chuyển bức thư đó.
Hãy giả định rằng bạn muốn gửi một bức thư. Định danh của bạn là lelan, và bạn có tài khoản trên vnn.vn. Bạn muốn gửi thư cho [email protected] bạn đang sử dụng email client Outlook Express.
- Khi bạn cài đặt tài khoản trên vnn.vn, bạn chỉ định cho Outlook Express tên của máy chủ thư điện tử – mail.vnn.vn. Khi bạn soạn thảo bức thư rồi ấn nút gửi, quá trình xảy ra như sau:
- Outlook Express kết nối với SMTP server trên mail.vnn.vn qua cổng 25.
- Outlook Express trao đổi với SMTP server và chuyển giao cho nó địa chỉ của người gửi, địa chỉ của người nhận cũng như nội dung của bức thư.
- SMTP server lấy địa chỉ đến [email protected] và cắt nó thành hai bộ phận
- Tên người nhận (tranmai)
- Tên miền (fpt.vn)
Nếu địa chỉ đến là địa chỉ ở cùng miền vnn.vn, SMTP server sẽ dễ dàng chuyển bức thư đó đến POP3 server trên cùng miền đó (sử dụng một ứng dụng nhỏ gọi là delivery agent). Khi địa chỉ đến ở miền khác, SMTP server phải trao đổi thông tin với miền khác. - SMTP server sẽ giao tiếp với một máy chủ tên miền (DNS server). Nó hỏi “Bạn có thể cho tôi địa chỉ IP của SMTP server của miền fpt.vn không?” Máy chủ tên miền sẽ cho trả lời là một hoặc nhiều địa chỉ IP của SMTP server mà fpt.vn đang quản lí.
- SMTP server ở vnn.vn kết nối với SMTP server ở fpt.vn qua cổng 25 (bằng IP đã được cung cấp). Nó có sự trao đổi giống như email client của bạn trao đổi với SMTP server ở vnn.vn tức là chuyển bức thư (địa chỉ đi, địa chỉ đến, nội dung…) cho máy chủ fpt.vn. Máy chủ fpt.vn nhận ra rằng tên miền của tranmai là fpt.vn, nó sẽ chuyển tiếp cho POP3 server của chính nó và bức thư sẽ được chuyển vào hộp thư của tranmai.
250 mx1.mindspring.com Hello abc.sample.com
[220.57.69.37], pleased to meet you
mail from: [email protected]
250 2.1.0 [email protected]… Sender ok
rcpt to: [email protected]
250 2.1.5 jsmith… Recipient ok
data
354 Enter mail, end with "." on a line by itself
from: [email protected]
to:[email protected]
subject: testing
John, I am testing…
.
250 2.0.0 e1NMajH24604 Message accepted
for delivery
quit
221 2.0.0 mx1.mindspring.com closing connection
Connection closed by foreign host.
Bạn có thể thấy rằng SMTP server hiểu được những lệnh ký tự đơn giản như HELO, MAIL, RCPT và DATA. Những lệnh thường thấy như sau:
- HELO – giới thiệu bản thân
- EHLO – giới thiệu bản thân và yêu cầu “extended mode”
- MAIL FROM: – định danh người gửi
- RCPT TO: – định danh người nhận
- DATA – định danh nội dunh (To:, From: và Subject: thường là 3 dòng đầu)
- RSET – reset
- QUIT – thoát khỏi tiến trình
- HELP – Lệnh lấy hướng dẫn trợ giúp
- VRFY – Xác nhận lại một địa chỉ
- EXPN – Mở rộng một địa chỉ
POP3 Server
- USER – Nhập vào tài khoản định danh của bạn
- PASS – Nhập vào mật mã (password) của bạn
- QUIT – Thoát khỏi POP3 server
- LIST – Liệt kê danh sách message của bạn với kích thước
- RETR – Lấy ra message của bạn và chuyển cho nó một con số
- DELE – Xóa một message chuyển cho nó một con số
- TOP – Hiển thị lên trên cùng x dòng của một message, chuyển cho nó một con số và số dòng.
- Email client của bạn sẽ kết nối vào POP3 server và đưa ra một tập hợp các lệnh để tải bản sao của message của bạn về máy tính cục bộ. Thông thường, email client sẽ xoá hết các message trên máy chủ trừ khi bạn bỏ tính năng đó.
Phần đính kèm (attachments)
Đây là kết quả của một chương trình mã hoá điển hình
M9W)E<" B<&P_(B O=F%R+VQO9R]H=\’1P9"]W96(V-C1F-
BYA8V-E<W,N;&]GM(\’P@8W5T("UF(#(@+60@(C\\B(\’P@8W5T
("UF(#$@+60@(B8B(#X@<V5A<F-HM+61A=&$M)#$*?B]C;
W5N="UP86=E<R!\\(\’-O<G0@/B!S=&%T<RTD,0IC<
" @M?B]W96)S:71E+V-G:2UB:6XO<W5G9V5S="UD871A+V1A=
&$@<W5G9V5S="TDM,0IC<"! +W=E8G-I=&4O8V=I+6)I;B
]W:&5R92UD871A+V1A=&$@=VAE<F4MM)#$*8W @?B]W96)S:7
1E+V-G:2UB:6XO96UA:6QE<BUD871A+V1A=&$@96UAL:6PM)#
$*?B]G971L;V<@/B!L;V=S+20Q"GXO=&]T86P@/B!T;W1A;"T
D,0IA
End
Và bây giờ khi bạn gửi email, bạn biết chính xác nó sẽ đi đến với người nhận như thế nào.
Email hoạt động như thế nào?’]