Tải bản đầy đủ (.ppt) (40 trang)

SMTP (SIMPLE MAIL TRANSFER PROTOCOL)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (495.29 KB, 40 trang )

1
SMTP(SIMPLE MAIL TRANSFER
PROTOCOL)
Nhóm thực hiện:
Dương Kim Anh
Hoàng Thế Long
Nguyễn Văn Sang
Mai Thanh Xuyên
Lớp : KTMT- K48
2
1.Tổng Quan về SMTP

SMTP là một giao thức làm việc trên số hiệu cổng
25.

Nó được thiết kế do nhu cầu của người sử dụng thư
tín, đảm bảo tính an toàn và hiệu quả.

Một đặc trưng quan trọng của SMTP là khả năng
Relay mail qua nhiều môi trường dịch vụ truyền tải.
Một dịch vụ truyền tải cung cấp một môi trường
truyền thông giữa các tiến trình(interprocess
communication environment (IPCE)).
3
1.Tổng Quan về SMTP (tiếp)

Một IPCE có thể bao gồm một mạng, một số
mạng, hay một hệ thống mạng con. Có thể hiểu
IPCE là môi trường cho phép một tiến trình có
thể giao tiếp qua lại trực tiếp với một tiến trình
khác.



Mail là một ứng dụng sử dụng việc giao tiếp
giữa các tiến trình.

Mail có thể được truyền tiếp (relay) qua nhiều
Host trên nhiều hệ thống truyền tải khác nhau
qua các Host trung gian
4
2.MÔ HÌNH SMTP

Thiết kế của SMTP dựa trên mô hình truyền thông
sau:

Khi có các yêu cầu mail từ người sử dụng, phía SMTP-
gửi sẽ thiết lập một kênh truyền hai chiều tới phía
SMTP-nhận.

Phía nhận có thể là đích đến cuối cùng hay chỉ là một
địa chỉ trung gian.

SMTP commands được tạo ra từ phía gửi và được gửi
đến phía nhận. SMTP Replies được gửi ngược trở lại từ
phía nhận cho phía gửi cho mỗi command tương ứng.
5
2.MÔ HÌNH SMTP(tiếp)
6
2.MÔ HÌNH SMTP(tiếp)

Một khi kênh truyền đã được thiết lập, phía SMTP gửi sẽ
gửi một MAIL command cho biết mail này là do ai gửi.

Nếu phía SMTP nhận chấp nhận mail này nó sẽ reply lại
là OK. Sau đó phía SMTP gửi lại gửi một RCPT
command cho biết là mail này gửi đến cho ai, nếu phía
SMTP nhận chấp nhận mail này cho người nhận đó thì nó
reply lại là OK, nếu không nó sẽ reply lại là mail này bị
loại bỏ. Nếu phía SMTP nhận reply là OK thì phía SMTP
gửi sẽ gửi dữ liệu mail tới phía nhận và kết thúc bằng một
command đặc biệt nào đó. Nếu phía SMTP nhận xử lý
thành công dữ liệu mail này thì nó sẽ reply lại là OK.
7
2.MÔ HÌNH SMTP(tiếp)

SMTP cung cấp hai cách khác nhau để gửi mail:

Truyền thẳng khi host phía gửi và host phía nhận
được kết nối tới cùng một dịch vụ truyền tải.

Thông qua các máy chủ SMTP khi host phía gửi và
host phía nhận không được kết nối tới cùng một
dịch vụ truyền tải.
8
3.CÁC CHỨC NĂNG SMTP
SMTP có các chức năng sau :

MAIL

FORWARDING

VERIFYING AND EXPANDING


SENDING AND MAILING

OPENNING AND CLOSING

RELAYING

DOMAINS

CHANGING ROLES
9
3.1 MAIL

Cần thực hiện 3 bước trong một phiên giao
dịch Mail trong SMTP:

Bước đầu tiên trong thủ tục này là MAIL
command, cú pháp của nó như sau :
MAIL <SP> FROM:<reverse-path>
<CRLF>
trong đó <reverse-path> là địa chỉ hòm thư của
người gửi, nếu được chấp nhận, phía SMTP
nhận sẽ reply lại là OK.
10
3.1 MAIL(tiếp)

Bước thứ hai trong thủ tục này là RCPT command, cú
pháp của nó như sau :
RCPT <SP> TO:<forward-path> <CRLF>
trong đó <forward-path> là địa chỉ hòm thư của người
nhận, nếu được chấp nhận, phía SMTP nhận sẽ reply lại

là OK, nếu nó không nhận ra được địa chỉ hòm thư
nhận thì sẽ reply lại là có lỗi sảy ra.

Bước thứ ba trong thủ tục này là DATA command, cú
pháp của nó như sau :
DATA <CRLF>
11
3.1 MAIL(tiếp)
từ đây phía SMTP gửi có thể gửi những đoạn
text đến phía nhận. Khi kết thúc việc gửi text,
phía SMTP nhận sẽ reply lại là OK, nếu có lỗi
sảy ra trong quá trình gửi text (chẳng hạn như
địa chỉ hòm thư nhận là không tồn tại), thì
SMTP nhận sẽ trả về một thông báo lỗi.
12
3.1 MAIL(tiếp)

Ví dụ (lấy từ rfc821) :

Giả sử Smith tại host Alpha.ARPA muốn gửi mail
tới Jones, Green và Brown tại host Beta.ARPA.
Và giả sử hai host này nối trực tiếp với nhau:
13
3.MAIL(tiếp)
Quá trình diễn ra như sau :
S: RCPT TO:<>
R: 250 OK
S: RCPT TO:<>
R: 550 No such user here
S: RCPT TO:<>

R: 250 OK
S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF>
S: Blah blah blah
S: etc. etc. etc.
S: <CRLF>.<CRLF>
R: 250 OK



14
3.MAIL(tiếp)

Thông qua ví dụ ta thấy Jones và Brown có
hòm thư tại host Beta.ARPA nên mail đã được
chấp nhận cho hai người này,còn Green không
có hòm thư tại host này nên đã có một thông
báo lỗi sảy ra từ phía SMTP nhận
15
3.2.FORWARDING

Trong một số trường hợp khi thông tin về địa
chỉ đến nằm trong phần địa chỉ đến của câu
lệnh từ phía gửi là không chính xác nhưng phía
nhận lại biết rõ địa chỉ này. Khi đó sẽ có phản
hồi cho phép phía gửi chỉnh lại địa chỉ đích.

Khi đó có hai loại mã trả về tương ứng với hai
trường hợp sau:
16

3.2.FORWARDING(tiếp)

Phía SMTP nhận chỉ ra rằng địa chỉ hộp thư đích nằm trên một host khác vì vậy
kèm theo đó là địa chỉ mà SMTP-Server sẽ dùng để chuyển tiếp mail này đến
địa chỉ đích mong muốn.

Phía SMTP chỉ ra rằng địa chỉ hộp thư đích nằm
trên một host khác vì vậy kèm theo đó là địa chỉ
mà SMTP-Server đưa ra nhằm trợ giúp cho phía
gửi chỉnh sửa lại địa chỉ đích, hoặc là nó gửi lại
một thông báo lỗi.
17
3.2.FORWARDING(tiếp)

Ví dụ (trích tử rfc821) :

S: RCPT TO:<>
R: 251 User not local; will forward to

Or
S: RCPT TO:
R: 551 User not local; please try
<>
18
3.3.XÁC NHẬN VÀ MỞ RỘNG

Một số tính năng phụ trợ, hay các câu lệnh cho
phép xác nhận người sử dụng và mở rộng danh
sách thư (Mailing List).


Đó là các câu lệnh VRFY và EXPN với tham số
như username, fullname và mailbox

VRFY command thường không được dùng để
mở rộng danh sách thư, nếu sử dụng có thể sẽ
gặp một thông báo lỗi :
550 That is a mailing list, not a user
19
3.3. XÁC NHẬN VÀ MỞ RỘNG(tiếp)

Tương tự EXPN command thường không được
sử dụng để kiểm tra user name, nếu sử dụng có
thể gặp phải một thông báo lỗi :
550 That is a user name, not a mailing list
20
3.3. XÁC NHẬN VÀ MỞ RỘNG(tiếp)

Ví dụ 1:
S: VRFY Smith
R: 250 Fred Smith <>
Or
S: VRFY Smith
R: 251 User not local; will forward to <>
Or
S: VRFY Jones
R: 550 String does not match anything.
Or
S: VRFY Jones
R: 551 User not local; please try <>
Or

S: VRFY Gourzenkyinplatz
R: 553 User ambiguous.
21
3.3. XÁC NHẬN VÀ MỞ RỘNG(tiếp)

Ví dụ :
S: EXPN Example-People
R: 250-Jon Postel <>
R: 250-Fred Fonebone <>
R: 250-Sam Q. Smith <>
R: 250-Quincy Smith <@USC-ISIF.ARPA:Q-Smith@ISI-
VAXA.ARPA>
R: 250-<>
R: 250 <>
Or
S: EXPN Executive-Washroom-List
R: 550 Access Denied to You.
22
3.4.SENDING AND MAILING

Mục đích chính của SMTP là chuyển mail đến hộp
thư của người sử dụng, tuy vậy một dịch vụ tương
tự được cung cấp bởi một số host là chuyển thư
trực tiếp đến thiết bị đầu cuối của người dùng.

Trường hợp chuyển thư đến hộp thư đầu gọi là
“mailing” và trường hợp chuyển thư đến thiết bị
đầu cuối gọi là “sending”.

Ở một số host thì sending và mailing là hoàn toàn

giống nhau và hai chức năng này được kết hợp
trong SMTP.
23
3.4.SENDING AND MAILING(tiếp)

Có 3 câu lệnh thực hiện các chức năng này
thường được dùng thay lệnh MAIL, yêu cầu
phía nhận thực hiện các công việc chi tiết:
1. SEND <SP> FROM:<reverse-path> <CRLF>
quá trình gửi mail sẽ thành công nếu như mail
gửi được đến thiết bị đầu cuối của người sử
dụng, nếu không một thông báo lỗi sẽ được
trả lại.
24
3.4.SENDING AND MAILING(tiếp)
2. SOML <SP> FROM:<reverse-path>
<CRLF>.
sau lệnh này, nếu người nhận được kích hoạt
trên host thì mail sẽ được gửi tới thiết bị đầu
cuối, nếu không thì mail sẽ được gửi đến hòm
thư của người nhận. Giao dịch mail sẽ thành
công nếu như mail đã được gửi đến thiết bị
đầu cuối hoặc hòm thư của người nhận.
25
3.4.SENDING AND MAILING(tiếp)
3. SAML <SP> FROM:<reverse-path>
<CRLF>
sau lệnh này, nếu người nhận được kích hoạt
trên host của họ thì mail sẽ được gửi đến thiết
bị đầu cuối. Trong mọi trường hợp thì dữ liệu

mail luôn được nhập vào hòm thư của người
nhận. Giao dịch mail sẽ kết thúc và thành
công nếu như mail được gửi đến thiết bị đầu
cuối hoặc hòm thư của người nhận.

×