Tổng quan về email và giao thức mail

Tổng quan về email và giao thức mail

1.TỔNG QUAN.

Là dịch vụ rất phổ biến và thông dụng trong mạng Internet/Intranet và hầu như không thể thiếu được trong Internet/Intranet hiện nay. Tuy nhiên không phải là dịch vụ “từ đầu - đến cuối” (end to end). Nghĩa là dịch vụ này không đòi hỏi hai máy tính gởi và nhận thư phải nối trực tiếp với nhau để thực hiện việc chuyển thư. Nó là dịch vụ kiểu lưu và chuyển tiếp (store and forward) thư được chuyển từ máy này sang máy khác cho tới khi máy đích nhận được. Người nhận cũng chỉ thực hiện một số thao tác đơn giản để lấy thư, đọc thư và nếu cần thì cho in ra. Cách liên lạc này thuận tiện hơn nhiều so với gởi thư thông thường qua bức điện hoặc Fax, lại rẻ và nhanh hơn. Cách thực hiện việc chuyển thư không cần phải kết nối trực tiếp với nhau để chuyển thư, thư có thể được chuyển từ máy này đến máy khác cho tới máy đích.. Giao thức truyền thống sử dụng cho hệ thống thư điện tử của Internet là SMTP(Simple Mail Transfer Protocol). Cơ chế hoạt động của thư điện tử(E-mail):

2.GIAO THỨC SMTP(RFC821)

Mục đích của giao thức SMTP là truyền mail một cách tin cậy và hiệu quả. Giao thức SMTP không phụ thuộc vào bất kỳ hệ thống đặc biệt nào và nó chỉ yêu cầu trật tự của dữ liệu truyền trên kênh truyền đảm bảo tính tin cậy.

Tổng quan về email và giao thức mail

a. Ý nghĩa các lệnh SMTP:

- Những lệnh SMTP định nghĩa sự truyền  mail hay chức năng của hệ thống mail được yêu cầu bởi  user. Những lệnh SMTP là những chuỗi ký tự kết thúc bằng <CRLF>. Bản thân mã lệnh là những ký tự chữ (alphabetic)  kết  thúc bởi <SP> nếu có những tham số  theo sau và nếu không có thì <CRLF>. Cú pháp của những mailbox phải tuân theo những qui ước của receiver.

     ¨ HELLO (HELO)

Lệnh này được dùng để xác định ra ai là người gởi mail. Vùng đối số chứa host name của bên gởi.

Bên nhận định danh cho nó đối với sender thông qua việc bắt tay trả lời kết nối.

Với lệnh này và sự trả lời OK để xác định rằng cả sender và reciever đang ở trạng thái khởi đầu, tất cả các bảng trạng thái và buffer đã được xoá sạch.

     ¨ MAIL

Lệnh này được dùng để khởi tạo quá trình trao đổi mail mà ở đó mail data được phân phát tới một hay nhiều mailbox.

     ¨ RECIPIENT (RCPT)

Lệnh này được sử dụng để định ra một người nhận mail, nhiều người nhận (cùng một nội dung mail) sẽ được xác định bằng cách  gởi nhiều lệnh này.

    ¨ DATA

Reciever sẽ xử lý những dòng theo sau lệnh khi mail data đến từ sender. Lệnh này tạo ra mail data để đặt vào mail data buffer. Mail data có thể chứa bất kỳ ký tự nào trong bộ mã ASCII. Mail data được kết thúc bởi một dòng mà nó chỉ chứa một dấu chấm “ .”

     ¨ SEND

Lệnh này được dùng để khởi tạo sự truyền mail mà ở đó maildata sẽ được truyền đi tới một hay nhiều người nhận.

     ¨ SEND OR MAIL (SOML)

          Lệnh này được sử dụng để khởi tạo sự truyền mail mà ở đó mail data một hay nhiều người nhận hoặc các mailbox.

     ¨ RESET (RSET)

Lệnh này xác định sự truyền mail hiện tại đã bị huỷ bỏ. Các sender, recipient, mail data đã lưu sẽ bị huỷ bỏ và tất cả các bảng trạng thái, các buffer bị xoá. Receiver phải gửi một reply OK.

     ¨ VERIFY (VRFY)

Lệnh này yêu cầu receiver xác nhận đối số là định danh một user. Nếu nó là một user name, full name của user đó (nếu receiver biết) và mailbox  đặc tả đầy đủ được trả về.Lệnh này không ảnh hưởng đến reverse-path buffer, forward-path buffer và data mail buffer.

     ¨ EXPAND  (EXPN)

Lệnh này yêu cầu receiver xác nhận đối số là một mailing list(danh sách địa chỉ) và trả về một thành phần trong danh sách đó. Full name của các user (nếu biết)  và những mailbox đã xác định đầy đủ được trả về trong một reply gồm nhiều dòng.

     ¨ HELP

Lệnh này cho receiver những thông tin giúp đỡ cho sender. Lệnh này có thể nhận một đối số (có thể là tên lệnh) và trả về thông tin chi tiết.
Lệnh này không ảnh hưởng đến reverse-path buffer, forward-path buffer và data mail buffer.

     ¨ NOOP

Lệnh này không ảnh hưởng các tham số hay các lệnh được đưa vào trước nó, nó đặc tả không có một hành động nào khác hơn là receiver gửi một reply OK. Lệnh này không ảnh hưởng đến reverse-path buffer, forward-path buffer và data mail buffer.

     ¨ QUIT

Lệnh này định rõ receiver phải gửi một reply OK và sau đó đóng kênh truyền. Receiver sẽ không đóng kênh truyền cho đến khi nó nhận và trả lời cho  lệnh QUIT  (ngay cả nếu có một lỗi xảy ra).

    b. Cú pháp của các lệnh

        - Các lệnh bao gồm một mã lệnh theo sau là đối số của lệnh. Mã lệnh là 4 ký tự alphabetic. Không phân biệt chữ thường hoặc chữ hoa.

        - Giữa mã lệnh và đối số là một hoặc nhiều khoảng trắng. Tuy nhiên trong reverse-path và forward-path, kiểu chữ rất quan trọng. Đặc biệt, trên một số host, tên user cũng phân biệt kiểu chữ hoa và thường.

        - Đối số bao gồm một chuỗi ký tự có chiều dài biến đổi kết thúc bằng chuỗi ký tự “ <CRLF> “.

       - Dấu ngoặc vuông biểu diễn cho một vùng đối số tuỳ chọn.

       - Sau đây là những lệnh 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>

     c. Ví dụ về một giao dịch của SMTP

1. Server : 220 sample2 Simple Mail Transfer Service Ready

khi được kết nối qua nghi thức TCP/IP, máy nhận trả lời với mã 220 đầu báo cho máy gởi biết dịch vụ SMTP đã sẵn sàng.

2. Client : HELLO tmt01vn

Bên nhận đã sẵn sàng, bên gởi gởi HELLO và xưng tên người gởi

3. Server : 250 hello.

Trả với mã 250 báo cho biết bên nhận đã sẵn sàng

4. Client : MAIL FROM:<[email protected]>

Bên gởi dùng lệnh MAIL để khởi động phiên giao dịch. Cú pháp như trên cho bên nhận biết địa chỉ bên gởi ( mailbox của bên gởi ) để bên nhận gởi thông báo lỗi nếu có về bên gởi

5. Server : 250 OK

Trả lời với mã 250 cho biết sẵn sàng

6. Client : RCPT TO:<[email protected]>

7. Server: 250 OK

8. Client : RCPT TO: [email protected]

 Muốn gởi cho bao nhiêu người dùng bấy nhiêu lệnh RCPT kèm theo địa chỉ nhận, bên nhận nếu đúng sẽ trả về mã 250 kèm theo OK

9. Server : 550 No such user here

Báo kèm theo mã 550 cho biết không có mailbox trên địa chỉ trên đối với nơi nhận

10. Client : DATA

                    Báo cho bên nhận biết dữ liệu bắt đầu từ sau từ DATA

11. Server : 354 Start mail input; end with <CRLF>.<CRLF>

Mã 354 báo cho biết đã sẵn sàng nhận mail, kết thúc mail với ký tự CRLF.CRLF

12. Client : Bắt đầu thân của mail

13.  …v..v..

14. Client : ( đến khi kết thúc nhấn CRLF.CRLF )

15. Server : 250 OK

16. Client : QUIT

Phát lệnh báo kết thúc phiên giao dịch

17. Server : 221 sample2 Service closing transmission channel

Mã 221 đóng kết nối đã thiết lập

Ví dụ trên sau phiên làm việc mail được gởi tới địa chỉ mail [email protected]

Đồ án tốt nghiệp - Xây dựng dịch vụ thư điện tử Mailling System - Java, jsp

- Xây dựng một dịch vụ thư điện tử khép kín hỗ trợ đa miền miễn phí và dịch vụ
- Đóng vai trò trạm trung chuyển mail trên mạng thông qua dịch vụ DNS hay SMTP server khác
- Sử dụng các giao thức truyền thông mail phổ biến nhất hiện nay
- Chương trình được xây dựng bằng ngôn ngữ Java cho ứng dụng mail server và jsp cho ứng dụng webmail. 

Download

Trương Minh Tuyến - Khoa CNTT - Trường ĐH Thủy Sản Nha Trang - ĐH Bách Khoa Hà Nội

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
New $250 iPhone Case Features Three Rotating Camera Lenses

New $250 iPhone Case Features Three Rotating Camera Lenses

Not only does Apple make a fortune from its iPhones, iPads, and anything else with a lower-case “i,” but it also spawned thousands of awesome accessories.

Bài 5:Học sinh lập trình Scratch - Làm quen với biến

Bài 5:Học sinh lập trình Scratch - Làm quen với biến

Bạn đã làm được hai trò chơi: “Mèo nhí diễu hành” và “Dơi bắt chuột, chuột ăn chuối”. Bạn nên hướng dẫn cho bé tự làm từ đầu thật thạo hai trò chơi đó trước khi chuyển qua bước tiếp theo

Drupal Open Atrium 2 đã có bản BETA Time

Drupal Open Atrium 2 đã có bản BETA Time

After nearly a year of planning and development, I finally released the first BETA version of Open Atrium 2 over the weekend. So what’s the big deal with Beta releases? Read on to find out.

Công ty diệt chuột T&C

 

Diet con trung