1.3 .GIỚI THIỆU KIẾN TRÚC DỊCH VỤ THƯ ĐIỆN TỬ
1.3.2.4 .Chuẩn RFC 822
1.5. PHÂN TÍCH GIAO THỨC SMTP (RFC 821)
1.5.3. Thđ tơc Mail
ĐĨ bắt đầu mt phiên giao dịch thư tín thì cần phải thc hiƯn thđ tơc MAIL. N bao gm 3 bước:
LƯnh MAIL đưỵc gưi đi kèm theo là tham s vỊ địa ch ngưi gưi thư.
LƯnh RCPT đưỵc gưi đi kèm theo là tham s vỊ địa ch ngưi nhn thư. C thĨ thc hiƯn nhiỊu lần lƯnh này trong trưng hỵp mun gưi thư cho nhiỊu ngưi.
Dưới đây là phần chi tit vỊ 3 lƯnh trên.
a. LƯnh MAIL FROM <reverseưpath>
Tham s: là mt xâu ký t định danh mailbox cđa ngưi gưi thư. Hạn ch: Ch c thĨ thc hiƯn khi chưa thc hiƯn chính lƯnh này.
Chi tit: LƯnh này dng đĨ xác nhn ngưi gưi thư đng thi thit lp mt phiên giao dịch SMTP với ReceiverưSMTP (Server). N đưa ra đưng dn <reverseưpath> đĨ sư dơng trong trưng hỵp phiên giao dịch không thc hiƯn thành công. Ngưỵc lại, thông tin vỊ ngưi gưi s đưỵc lưu lại.
Thông tin phản hi: 250 OK
Trưng hỵp cịn lại bị lỗi.
Ví dơ:
S: MAIL FROM: <Smith@Alpha.edu> R: 250 OK
b. LƯnh RCPT TO <forwardưpath>
Tham s: là mt xâu ký t định danh mailbox cđa ngưi nhn thư.
Hạn ch: Ch c thĨ thc hiƯn khi đã định danh ngưi gưi thư bằng lƯnh MAIL.
Chi tit: LƯnh này dng đĨ xác nhn ngưi nhn thư đưỵc ch định trong tham s
<forwardưpath>. Nu ReceiverưSMTP chp nhn thì thơng tin vỊ ngưi gưi s đưỵc lưu lại. LƯnh này c thĨ thc hiƯn nhiỊu lần đĨ xác nhn nhiỊu ngưi nhn thư.
Thông tin phản hi: 250 OK
Trưng hỵp cịn lại bị lỗi. Ví dơ
S: RCPT TO: <Jones@Beta.gov> R: 250 OK
S: rcpt to: <Green@Beta.gov> R: 550 No such user here
c. LƯnh DATA
Tham s: không.
Hạn ch: Ch c thĨ thc hiƯn khi đã thc hiƯn thành công viƯc xác nhn ngưi gưi và ngưi nhn thư.
Chi tit: LƯnh này dng đĨ xác nhn bắt đầu viƯc gưi ni dung thư. Nu SMTP Receiver chp nhn, n s tin hành nhn và lưu trữ tt cả các dòng văn bản đưỵc gưi đn. ĐĨ kt thĩc viƯc gưi dữ liƯu, SMTP Sender cần gưi mt dòng ch cha mt du chm ”.”. Lưu ý rằng phần dữ liƯu sau lƯnh DATA bao gm toàn b phần header cđa thư (như các trưng Date, Subject, CC, From, ...) cịng như ni dung thư. Thông tin phản hi:
250 OK
Ví dơ:
S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF> S:. . . Sends body of mail message . . .
R: 250 OK S: QUIT
S: 221 Beta.gov Service Closing Transmission Channel
Sau đây là mt ví dơ minh hoạ cho mt phiên giao dịch thư tín SMTP. Phần thơng tin phía Server đưỵc bắt đầu bằng R: và mã s, tip sau là thông tin. Phần phía Client là các lƯnh thc thi cđa SMTP bắt đầu bằng S:. Ta s sư dơng dịch vơ Telnet đĨ kích hoạt dịch vơ thư tín trên cỉng 25 (SMTP).
d. Ví dơ vỊ mt phiên giao dịch SMTP
R: 220 BERKELEY.ARPA Simple Mail Transfer Service Ready S: HELO USCưISIF.ARPA
R: 250 BERKELEY.ARPA
S: MAIL FROM: <Postel@USCưISIF.ARPA> R: 250 OK
S: RCPT TO: <fabry@BERKELEY.ARPA> R: 250 OK
S: RCPT TO: <eric@BERKELEY.ARPA>
R: 552 Recipient storage full, try again in another transaction S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF> S: Blah blah blah...
S: .
R: 250 OK
S: MAIL FROM: <Postel@USCưISIF.ARPA> R: 250 OK
S: RCPT TO: <eric@BERKELEY.ARPA> R: 250 OK
S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF> S: Blah blah blah...
S: ...etc. etc. etc. S: .
R: 250 OK S: QUIT
R: 221 BERKELEY.ARPA Service closing transmission channel