II- MÔ HÌNH SMTP:
6- Chia ca (Relaying ):
Forward-path có thể là một lộ trình nguồn của form
"@ONE, @TWO:JOE@THREE" với ONE ,TWO, THREE là các host. Form này được dùng để nhấn mạnh sự phân biệt giữa một address và một route. Mailbox là một address tuyệt đối, và route là thông tin về việc lấy chúng như thế nào .
Những thành phần của forward-path được chuyển đến reverse-path khi message đó được chia ca từ một server-SMTP đến một server-SMTP khác. Reverse- path là một lộ trình nguồn trở về (khác với một lộ nguồn là từ vị trí hiện hành của message đến điểm khởi đầu của message đó). Khi một server SMTP xóa phần nhận dạng của nó trong forward-path và chèn phần nhận dạng của nó vào trong reverse- path, nó phải dùng cái tên mà nó được biết tới trong môi trường mà nó sẽ gửi vào, không phải là môi trường mà mail từ đó đến, trong trường hợp server-SMTP được biết đến với những tên khác nhau trong những môi trường khác nhau.
Nếu một message đến một SMTP thành phần đầu tiên của forward-path
không phải là phần nhận dạng của SMTP đó, thành phần này không bị xố trong
forward-path và được dùng để xác định SMTP kế để gửi message đến. Trong trường hợp này SMTP thêm phần nhận dạng của nó vào reverse-path.
Dùng lộ trình nguồn receiver-SMTP nhận mail để chia ca đến một server- SMTP khác. Receiver-SMTP đó có thể chấp nhận hoặc bác bỏ công việc chia ca cho mail, như cách nó chấp nhận hay bác bỏ mail cho một user cục bộ. Receiver- SMTP thay đổi những đối số lệnh bằng cách chuyển phần nhận dạng của nó từ
forward-path vào chổ mở đầu của reverse-path. Sau đó receiver-SMTP trở thành Sender-SMTP, thiết lập một kênh truyền đến SMTP kế trong forward-path,và gửi mail đó cho nó.
Host đầu tiên trong reverse-path sẽ là host gửi các lệnh SMTP và host đầu tiên trong forward-path sẽ là host các nhận các lệnh SMTP .
Lưu ýrằng forward-path và reverse-path xuất hiện trong các lệnh và các reply SMTP, nhưng nó không cần thiết xuất hiện trong message . Nó không cần thiết cho những đường dẫn và cú pháp đặc biệt này xuất hiện trong những trường của message header như "To:" , "From:", "CC:",….
Nếu một server-SMTP chấp nhận công việc chia ca mail và sau đó thấy
forward-path không đúng hay mail đó không thể được phân phát được vì bất cứ lí do nào, thì nó phải xây dựng một message thông báo "undeliverable mail" (mail không thể phân phát) và gửi nó đến nơi xuất phát của mail không thể phân phát đó(được chỉ định trong reverse-path). Message thông báo này phải là từ server- SMTP tại host đó. Dĩ nhiên những server-SMTP sẽ không gữi những message thông báo về những sự cố xảy ra cho message thông báo đó. Một cách ngăn chặn sự lặp lại trong việc thông báo lỗi là đặc tả một null reverse-path trong lệnh MAIL của message một thông báo. Khi một message thông báo như vậy được chia ca nó được dùng để loại bỏ reverse-path null. Một lệnh MAIL với null reverse-path như dưới đây:
Thông báo này nằm trong trả lời cho một message được khởi động bởi JOE tại HOSTW và gửi thông qua HOSTX đến HOSTY với chỉ thị chia ca nó đến HOSTZ, nó là bước đầu tiên trong việc trả về message thông báo .
Ví dụ message thông báo mail không thể phân phát : S: MAIL FROM:<>
R: 250 OK
S: RCPT TO:<@HOSTX.ARPA:JOE@HOSTW.ARPA> R: 250 OK
S: DATA R: 354 send the mail data, end with .
S: Date: 23 Oct 81 11:22:33 S: From: SMTP@HOSTY.ARPA S: To: JOE@HOSTW.ARPA
S: Subject: Mail System Problem S:
S: Sorry JOE, your message to SAM@HOSTZ.ARPA lost. S: HOSTZ.ARPA said this:
S: "550 No Such User" S: .
R: 250 OK