II/ Các chuẩn được sử dụng trong hệ thống Mail
1. Giao thức SMTP(Simple Mail Transfer Protocol)
1.1. Mơ hình SMTP
+ Sender- SMTP thiết lập một kênh hai đường vận chuyển đến một receiver- SMTP .
+ Receiver- SMTP cĩ thể là đích đến cuối cùng hay một trung gian. Những lệnh SMTP được sinh ra bởi Sender-SMTP gửi đến Receiver- SMTP. Những reply SMTP được gửi từ Receiver- SMTP đến Sender- SMTP trong sự đáp ứng cho những lệnh đĩ.
Khi một kênh chuyển giao được thiết lập sender-SMTP gửi đi một lệnh Mail biểu thị cho Sender của mail đĩ. Nếu Receiver-SMTP cĩ thể chấp nhận mail, nĩ trả lời với một OK reply. Sau đĩ Sender-SMTP gửi một lệnh RCPT nhận diện Receiver mail nếu Receiver-SMTP cĩ thể chấp nhận mail nĩ trả lời với một OK reply nếu khơng nĩ sẽ lời với một reply bác bỏ receiver đĩ (nhưng khơng phải tồn bộ sự giao dịch đĩ). Sender- SMTP và Receiver- SMTP cĩ thể điều đình với vài recipient, khi những recipient đã được dàn xếp Sender-SMTP gửi mail data kết thúc với một chuỗi đặc biệt nếu receiver xử lý Mail Data thành cơng nĩ trả lời với một OK reply. Cuộc hội thoại một cách chủ ý lock – step (one-at-a-time).
Sơ đồ: mơ hình cho cách dùng SMTP.
SMTP cung cấp những cơ chế giao chuyển Mail một cách trực tiếp từ host của user gửi đến host của user nhận khi cả hai host được kết nối đến cùng dịch vụ giao chuyển hay qua nhiều SMTP-Sever tiếp vận khi host xuất phát hay đích đến khơng được kết nối đến cùng dịch vụ chuyển giao. Để cĩ thể cung cấp khả năng tiếp vận SMTP-Sever phải được cung cấp tên của host đến cùng chẳng hạn như hạn của Mailhost đến .
Khi cùng một message được gửi cho nhiều recipient SMTP khuyến khích chuyển giao chỉ một bản sao của data cho tất cả các Receiver ở cùng một host đích. Những command và reply mail cĩ những cú pháp khắc khe. Những reply cũng cĩ một mã số.
Các command và reply khơng phân biệt kiểu chữ hoa hay thường. Lưu ý, điều này khơng đúng với tên của User mailbox. Cho một số host tên của user
Sender SMTP Receiver SMTP User File System FILE System SMTP Commands/Replies and Mail Sender-SMTP Receiver -SMTP
cĩ phân biệt kiểu chữ, SMTP phải thi hành đầy đủ việc nhận kiểu chữ và giữ gìn kiểu chữ của những user name như chúng đã xuất hiện trong những đối số của mailbox. Host names khơng phân biệt kiểu chữ.
1.2. SMTP Mail:
Cĩ 3 bước cho sự giao dịch SMTP mail. Giao dịch được bắt đầu với yêu cầu Mail mang sự nhận diện sender, tiếp theo sau là một chuỗi của một hay nhiều lệnh RCPT trao những thơng tin của receiver, sau đĩ một lệnh DATA cho mail data.Và cuối cùng là phần chỉ định kết thúc mail data xác nhận giao dịch đĩ.
Bước đầu tiên trong thủ tục là lệnh MAIL...<reverse-path> chứa mailbox nguồn
MAIL <SP> FROM : <reverse-path> <CRLF>
Lệnh này báo cho receiver biết một giao dịch mail mới sẽ bắt đầu và để reset tất cả các bảng trạng thái và các buffer của nĩ bao gồm tất cả recipient hay mail data. Nĩ phát ra reverse-path cĩ thể được dùng để báo lỗi. Nếu được chấp nhận receiver-SMTP trả về một reply 250 OK.
<Reverse-path> cĩ thể chứa nhiều hơn một mailbox.<Reverse-path> là một lộ trình nguồn trở về liệt kê các host và mailbox nguồn. Host đầu tiên trong reverse-path sẽ là host giữ lệnh này.
Bước thứ hai trong thủ tục này là lệnh RCPT
RCPT <SP> To : <forward-path> <CRLF>
Lệnh này phát đi một forward-path nhận diện recipient. Nếu được chấp nhận receiver-SMTP trả về một reply 250 OK. Và lưu lại forward-path. Nếu recipient khơng nhận biết thì receiver trả về reply 550 Failure.
Bước thứ hai của thủ tục này cĩ thể lặp lại nhiều lần.
Forward-path cĩ thể chứa nhiều hơn một mailbox. Forward-path là lộ trình nguồn liệt kê các host và mailbox đích. Host đầu tiên trong <forword- path> sẽ là host nhận lệnh này.
Bước thứ ba trong thủ tục là lệnh DATA DATA <CRLF>
Nếu chấp nhận Receiver-SMTP trả về một reply 354 và coi tất cả các dịng nối tiếp đĩ là message text. Khi văn bản cuối cùng được nhận và lưu trữ Receiver- SMTP gửi một reply 250 OK.
Kể từ mail data được gửi trên kênh chuyển giao, điểm kết thúc của mail data phải được chỉ định để hội thoại command và reply cĩ thể bắt đầu trở lại.
SMTP chỉ định kết thúc của mail data bằng cách gửi một dịng chứa chỉ một dấu chấm.
Chú ý rằng mail data bao gồm những mục (item) memo header chẳng hạn như Subject, To, Cc, From.
Phần chỉ định kết thúc của mail data cũng xác nhận sự giao dịch mail và báo cho Receiver-SMTP biết để xử lý việc lưu trữ recipient và mail data ngay lúc đĩ. Nếu được chấp nhận Receiver-SMTP trả về một reply 250 OK. Lệnh DATA sẽ chỉ fail nếu giao dịch mail khơng hồn thành (ví dụ khơng cĩ receiver) hoặc nếu tài ngun khơng cĩ hiệu lực.