0
Tải bản đầy đủ (.pdf) (89 trang)

Cú pháp lệnh:

Một phần của tài liệu ĐỒ ÁN TỐT NGHIỆP: " TÌM HIỂU MỘT SỐ CÔNG NGHỆ WEB VÀ XÂY DỰNG CHƯƠNG TRÌNH NEWSLETTER " PDF (Trang 43 -46 )

IV. ĐẶC TẢ SMTP

2- Cú pháp lệnh:

Những lệnh này bao gồm một mã lệnh theo sau là một trường đối số . Mã lệnh là bốn ký tự chữ . Những ký tự thường và hoa được xữ lý như nhau . Vậy những từ sau đây có thểđại diện cho lệnh MAIL:

MAIL Mail mail MaIl mAIl

Ở đây cũng dùng một số ký hiệu trình bày cho những giá trị của tham số, chẳng hạn như “TO” hay “to” cho forward-path. Mã lệnh và những trường đối số được tách ra bởi một hay nhiều khoảng trắng. Tuy nhiên bên trong những đối số

reverse-path và forward-path kiểu chữ rất quan trọng. Trong một số host user “khanh” khác với user “Khanh”.

Trường đối số gồm có một biến chiều dài chuổi ký tự, kết thúc với chuổi <CLRF>. Receiver-SMTP không nhận hành động cho đến khi nhận được chuổi <CLRF> này.

Dấu ngoặc vuông biểu thị một trường đối số tuỳ ý. Nếu không nhận chọn lựa này một mặc định phù hợp sẽđược áp dụng. Sau đây là nhng lnh SMTP: HELO <SP> <domain> <CRLF> MAIL <SP> FROM:<reverse-path> <CRLF> RCPT <SP> TO:<forward-path> <CRLF> DATA <CRLF> RSET <CRLF> SEND <SP> FROM:<reverse-path> <CRLF> SOML <SP> FROM:<reverse-path> <CRLF> SAML <SP> FROM:<reverse-path> <CRLF> VRFY <SP> <string> <CRLF> EXPN <SP> <string> <CRLF> HELP [<SP> <string>] <CRLF> NOOP <CRLF> QUIT <CRLF> TURN <CRLF> Cú pháp của những trường đối số trên( dùng ký hiệu BNF có thể áp dụng được ởđây) được cho bên dưới. Ký hiệu “…” chỉ định một trường có thể được lặp một hay nhiều lần.

<reverse-path> ::= <path> <forward-path> ::= <path>

<path> ::= "<" [ <a-d-l> ":" ] <mailbox> ">" <a-d-l> ::= <at-domain> | <at-domain> "," <a-d-l> <at-domain> ::= "@" <domain>

<domain> ::= <element> | <element> "." <domain> <element> ::= <name> | "#" <number> | "[" <dotnum> "]" <mailbox> ::= <local-part> "@" <domain>

<name> ::= <a> <ldh-str> <let-dig>

<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str> <let-dig> ::= <a> | <d>

<let-dig-hyp> ::= <a> | <d> | "-"

<dot-string> ::= <string> | <string> "." <dot-string> <string> ::= <char> | <char> <string>

<quoted-string> ::= """ <qtext> """

<qtext> ::= "\" <x> | "\" <x> <qtext> | <q> | <q> <qtext> <char> ::= <c> | "\" <x>

<dotnum> ::= <snum> "." <snum> "." <snum> "." <snum> <number> ::= <d> | <d> <number>

<CRLF> ::= <CR> <LF>

<CR> ::= the carriage return character (ASCII code 13) <LF> ::= the line feed character (ASCII code 10) <SP> ::= the space character (ASCII code 32)

<snum> ::= one, two, or three digits representing a decimal integer value in the range 0 through 255

<a> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case

<c> ::= any one of the 128 ASCII characters, but not any <special> or <SP>

<d> ::= any one of the ten digits 0 through 9

<q> ::= any one of the 128 ASCII characters except <CR>, <LF>, quote ("), or backslash (\)

<x> ::= any one of the 128 ASCII characters (no exceptions) <special> ::= "<" | ">" | "(" | ")" | "[" | "]" | "\" | "."

| "," | ";" | ":" | "@" """ | the control characters (ASCII codes 0 through 31 inclusive and 127)

Chú ý dấu suyệt ngược “\” là một ký tự định đặt, nó được dùng chỉđịnh ký tự kế tiếp được dùng một cách chính xác (thay cho sự thông dịch thông thường của nó) ví dụ như "Khanh\,Sam" sẽ được dùng chỉ định một ký tự một trường chín tự đơn với dấu phẩy là ký tự thứ sáu của trường.

Thường những host được biết đến bằng những cái tên, nó được biên dịch thành địa chỉ của mỗi host. Lưu ý tên phần tử của các Domain phải là tên chính thức, không dùng tên hiệu hay bí danh.

Thỉnh thoảng một host không biết đến chức năng biên dịch và sự giao tiếp bị khố. Để phớt lờ chướng ngại này hai cấu trúc dạng số cũng được chấp nhận cho “names” của host. Một dạng là một số nguyên hệ thập phân nằm sau ký hiệu giới hạn “#” nó chỉđịnh số này là địa chỉ của host. Một dạng khác là bốn số nguyên nhỏ bao trong dấu ngoặc vuông và cách nhau bởi những dấu chấm như "[123.255.37.2]". Nó chỉđịnh một địa chỉ 32 bit- ARPA internet trong bốn trường 8 bit.

Dòng đánh dấu thời gian và dòng đường dẫn trở về thường được định nghĩa như ví dụ sau :

<return-path-line> ::= "Return-Path:" <SP><reverse-path><CRLF> <time-stamp-line> ::= "Received:" <SP> <stamp> <CRLF>

<stamp> ::= <from-domain> <by-domain> <opt-info> ";" <daytime>

<from-domain> ::= "FROM" <SP> <domain> <SP> <by-domain> ::= "BY" <SP> <domain> <SP> <opt-info> ::= [<via>] [<with>] [<id>] [<for>] <via> ::= "VIA" <SP> <link> <SP>

<with> ::= "WITH" <SP> <protocol> <SP> <id> ::= "ID" <SP> <string> <SP>

<for> ::= "FOR" <SP> <path> <SP>

<link> ::= The standard names for links are registered with the Network Information Center ( Tên chun cho nhng liên kết được đăng ký vi Net Work

Information Center)

<protocol> ::= The standard names for protocols are registered with the Network Information Center. (Tên chun cho nhng protocol được đăng ký vi Net Work Information Center)

<daytime> ::= <SP> <date> <SP> <time> <date> ::= <dd> <SP> <mon> <SP> <yy>

<time> ::= <hh> ":" <mm> ":" <ss> <SP> <zone>

<dd> ::= the one or two decimal integer day of the month in

the range 1 to 31. <mon> ::= "JAN" | "FEB" | "MAR" | "APR" | "MAY" | "JUN" |

"JUL" | "AUG" | "SEP" | "OCT" | "NOV" | "DEC"

<yy> ::= the two decimal integer year of the century in the range 00 to 99. <hh> ::= the two decimal integer hour of the day in the range 00 to 24. <mm> ::= the two decimal integer minute of the hour in the range 00 to 59. <ss> ::= the two decimal integer second of the minute in the range 00 to 59. <zone> ::= "UT" for Universal Time (the default) or other time zone designator (as in [2]).

Ví dụ : Return Path

Return-Path: <@CHARLIE.ARPA,@BAKER.ARPA:JOE@ABLE.ARPA> Ví dụ : dòng đánh dấu thời gian :

Received: FROM ABC.ARPA BY XYZ.ARPA ; 22 OCT 81 09:23:59 PDT

Một reply SMTP bao gồm một số ba chữ số (được truyền như ba ký tự chữ số) theo sau là một số văn bản (text). Sốđóđược dành cho các chương trình tựđộng để xác định trạng thái đưa vào kế tiếp. Text ở trên có ý nghĩa cho user con người (không phải máy). Ba chữ số đó được ấn định chứa đầy đủ thông tin được mã hố Sender-SMTP không cần kiểm tra text đó và có thể huỷ bỏ hay chuyển nó qua một user thích hợp. Đặc biệt text này có thểđộc lập với Receiver-SMTP và độc lập với ngữ cảnh, do có sự giống nhau trong những text khác nhau từng mã reply. Nguyên lý của những mã reply cho trong phụ lục E. thông thường một reply được định nghĩa là chuổi gồm: một mã ba chữ số, <SP>, một dòng text, và <CRLF>, hay một

reply nhiều dòng (như định nghĩa trong phụ lục E) chỉ những lệnh EXPN và HELP có kết quả là những reply nhiều dòng trong những tình huống bình thường, tuy nhiên những reply nhiều dòng được chấp nhận cho nhiều lệnh.

Một phần của tài liệu ĐỒ ÁN TỐT NGHIỆP: " TÌM HIỂU MỘT SỐ CÔNG NGHỆ WEB VÀ XÂY DỰNG CHƯƠNG TRÌNH NEWSLETTER " PDF (Trang 43 -46 )

×