Uploaded by Kim Ngân

SMTP

advertisement
SMTP (mình chia ra 2 phần: phần đầu là nội dung ppt, phần 2 có
thêm chi tiết về SMTP sẽ được diễn giải kèm theo ppt được tô màu
đỏ để đánh dấu)
*Phần nội dung để đưa vào ppt:
1. SMTP LÀ GÌ?
SMTP (Simple Mail Transfer Protocol)
- Là giao thức chuẩn TCP/IP được dùng để truyền thông điệp email một cách đáng tin
cậy từ client đến server (mặc định là port 25).
- Một máy chủ SMTP sẽ có một địa chỉ (hoặc nhiều địa chỉ) có thể được thiết lập bởi các
mail client hoặc ứng dụng mà bạn đang sử dụng. Và thường được định dạng như
smtp.serveraddress.com (Ví dụ, địa chỉ máy chủ SMTP của Gmail là smtp.gmail.com.)
2. CÁCH SMTP TRUYỀN THƯ
- Truyền trực tiếp: server gửi đến server nhận. Thường không sử dụng server trung gian
- Gồm 3 giai đoạn truyền:
+ Thiết lập kết nối (bắt tay)
+ Truyền thông điệp
+ Đóng kết nối
- Tương tác lệnh/ phản hồi tương tự HTTP, FTP:
+ Lệnh: văn bản ASCII. Một số lệnh SMTP thông dụng: HELO, MAIL FROM, RCPT
TO, DATA, QUIT.
+ Phản hồi: mã và cụm trạng thái
- Thông điệp phải ở dạng mã ASCII 7 bit
=> SMTP dùng kết nối bền vững, yêu cầu thông điệp phải ở dạng ASCII 7 bit, dùng
CRLF để xác định kết thúc thông điệp.
*So sánh SMTP và HTTP
Giống nhau: đều có tương tác lệnh/phản hồi, các mã trạng thái dạng ASCII.
Khác nhau:
HTTP
SMTP
kéo (pull)
đẩy (push)
Mỗi đối tượng được đóng gói trong
thông điệp phản hồi của nó
Nhiều đối tượng được gửi trong thông
điệp nhiều phần
*Phần nội dung cụ thể:
1. SMTP LÀ GÌ?
SMTP (Simple Mail Transfer Protocol)
- Là giao thức chuẩn TCP/IP được dùng để truyền thông điệp email một cách đáng tin
cậy từ client đến server (mặc định là port 25).
- Một máy chủ SMTP sẽ có một địa chỉ (hoặc nhiều địa chỉ) có thể được thiết lập bởi các
mail client hoặc ứng dụng mà bạn đang sử dụng. Và thường được định dạng như
smtp.serveraddress.com (Ví dụ, địa chỉ máy chủ SMTP của Gmail là smtp.gmail.com.)
- SMTP lần đầu tiên được xác định vào năm 1982 bởi RFC 821 và được RFC 5321 cập
nhật vào năm 2008 thành các bổ sung SMTP mở rộng , đây là loại giao thức được sử
dụng rộng rãi ngày nay. Máy chủ thư và các đại lý chuyển thư khác sử dụng SMTP để
gửi và nhận thư. Nói đơn giản, SMTP là một giao thức để có thể gửi email trên internet.
- Về mặt kỹ thuật thì SMTP server giống như các máy chủ thông thường khác. Điểm
khác ở đây là khả năng gửi email số lượng lớn không giới hạn.
Ví dụ, Gmail là máy chủ gửi email miễn phí của Google. Nhưng đặt ra hạn chế là bạn chỉ
gửi được tối đa 500 email/ngày. Còn với SMTP server nó là các máy chủ chuyên dụng để
gửi email số lượng lớn. Cần trả phí gửi cho các smtp server này.
- Ngoài ra, một máy chủ SMTP đóng nhiệm vụ quan trọng trong việc xác thực email gửi
đi có phải là tài khoản đang hoạt động không. Đây là vai trò đầu tiên trong việc bảo vệ
hộp thư đến của bạn từ email bất hợp pháp. Nó cũng sẽ gửi email trở lại người gửi nếu nó
không thể được chuyển thành công. Điều này thông báo cho người gửi rằng họ có địa chỉ
email không đúng hoặc email của họ đang bị chặn bởi máy chủ nhận.
2. CÁCH SMTP TRUYỀN THƯ
- Truyền trực tiếp: server gửi đến server nhận. Không sử dụng server trung gian
- Gồm 3 giai đoạn truyền:
+ Thiết lập kết nối (bắt tay)
+ Truyền thông điệp
+ Đóng kết nối
Minh họa về cách vận hành của SMTP:
1. Alice gọi tác nhân người dùng của mình để nhận e-mail, cung cấp địa chỉ e-mail
của Bob (ví dụ: bob@someschool.edu), soạn thư và hướng dẫn tác nhân người
dùng để gửi tin nhắn.
2. Tác nhân người dùng của Alice sẽ gửi thư đến mail server của cô ấy, ở đó thư sẽ
được đặt trong hàng đợi.
3. Phía client của SMTP, chạy trên mail server của Alice, nhìn thấy thư trong hàng
đợi tin nhắn. Nó mở một kết nối TCP đến một server SMTP, chạy trên mail server
của Bob.
4. Sau một số lần bắt tay SMTP ban đầu, ứng dụng khách SMTP gửi tin nhắn của
Alice vào kết nối TCP.
5. Tại mail server của Bob, phía server của SMTP nhận thư, máy chủ của Bob sẽ
nhận thư sau đó đặt tin nhắn vào hộp thư của Bob.
6. Bob gọi tác nhân người dùng của mình để đọc tin nhắn một cách thuận tiện.
Cụ thể cách mà SMTP chuyển thư từ máy chủ gửi thư đến máy chủ nhận thư:
Đầu tiên, máy khách SMTP (chạy trên máy chủ gửi thư) có TCP thiết lập kết nối
tới cổng 25 tại máy chủ SMTP (chạy trên máy chủ nhận thư). Nếu máy chủ ngừng hoạt
động, máy khách sẽ thử lại sau. Một lần kết nối này được thiết lập, máy chủ và máy
khách thực hiện một số thao tác bắt tay ở lớp ứng dụng—giống như con người thường tự
giới thiệu trước khi truyền thông tin từ người này sang người khác, máy khách và máy
chủ SMTP giới thiệu mình trước khi truyền thông tin. Trong giai đoạn bắt tay SMTP này,
ứng dụng khách SMTP cho biết địa chỉ e-mail của người gửi (người tạo thư) và địa chỉ email của người nhận. Sau khi máy khách SMTP và máy chủ đã tự giới thiệu với nhau,
máy khách gửi tin nhắn. SMTP có thể tin tưởng vào dịch vụ truyền dữ liệu đáng tin cậy
của TCP để nhận thông báo đến máy chủ không có lỗi. Sau đó, máy khách lặp lại quá
trình này trên cùng một kết nối TCP nếu nó có các tin nhắn khác để gửi đến máy chủ;
ngược lại, nó hướng dẫn TCP đóng sự liên quan.
- Tương tác lệnh/ phản hồi tương tự HTTP, FTP:
+ Lệnh: văn bản ASCII. Một số lệnh SMTP thông dụng: HELO, MAIL FROM, RCPT
TO, DATA, QUIT.
+ Phản hồi: mã và cụm trạng thái
- Thông điệp phải ở dạng mã ASCII 7 bit
=> SMTP dùng kết nối bền vững, yêu cầu thông điệp phải ở dạng ASCII 7 bit, dùng
CRLF để xác định kết thúc thông điệp.
*So sánh SMTP và HTTP
Giống nhau: đều có tương tác lệnh/phản hồi, các mã trạng thái dạng ASCII.
Khác nhau:
HTTP
SMTP
kéo (pull)
đẩy (push)
Mỗi đối tượng được đóng gói trong
thông điệp phản hồi của nó
Nhiều đối tượng được gửi trong thông
điệp nhiều phần
Download