Bài giảng Lập trình mạng: Chương 5 - ThS. Trần Bá Nhiệm
lượt xem 8
download
Email là phần không thể thiếu trong nhiều lĩnh vực: xã hội, thương mại - kinh tế, quốc phòng,… Vì thế lập trình để quản lý email là một vấn đề quan trọng và cần thiết. Nội dung trong chương này sẽ giúp cho người học hiểu rõ cấu trúc, cách thức gửi của 1 email. Đồng thời hướng dẫn tiếp cận thông qua lập trình mức socket. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình mạng: Chương 5 - ThS. Trần Bá Nhiệm
- CHƯƠNG 5 TRUYỀN THÔNG VỚI EMAIL SERVER ThS. Trần Bá Nhiệm Website: sites.google.com/site/tranbanhiem Email: tranbanhiem@gmail.com
- Nội dung • Giới thiệu • Gửi email • SMTP • POP3 • System.Web.Mail • Giao tiếp lập trình ứng dụng mail Chương 5: Truyền thông với email 25/09/2014 2 server
- Giới thiệu • Email là phần không thể thiếu trong nhiều lĩnh vực: xã hội, thương mại - kinh tế, quốc phòng,… • Lập trình để quản lý email là một vấn đề quan trọng và cần thiết • Trước tiên cần phải hiểu rõ cấu trúc, cách thức gửi của 1 email • Tiếp cận thông qua lập trình mức socket Chương 5: Truyền thông với email 25/09/2014 3 server
- Gửi email • Mỗi email đều phải có địa chỉ duy nhất, có dạng: @ • Chú ý: phải được nhận diện duy nhất trên hệ thống DNS toàn cầu. chỉ cần duy nhất trong mail server của người nhận. • Email không phải được chuyển trực tiếp đến người nhận mà phải đi qua mail server của ISP hoặc của công ty sở hữu domain. Chương 5: Truyền thông với email 25/09/2014 4 server
- Gửi email • Từ đó mail được chuyển tiếp một lần nữa đến mail server của người nhận sau một khoảng thời gian ngắn • Gửi mail dùng giao thức SMTP • Để xác định mail server của người nhận, một mẩu tin MX (Mail Exchange) trong DNS phải có để quản lý Chương 5: Truyền thông với email 25/09/2014 5 server
- SMTP • SMTP dùng để gửi chứ không nhận mail được • Mọi mail server phải tuân theo chuẩn SMTP để gửi được đến đích (RFC 821) • Việc cài đặt một mail server đơn giản để thực hành có thể thông qua hướng dẫn trong bộ cài đặt Windows Server hoặc dùng phần mềm của bên thứ 3 như: AspEmail, Mercury, Pegasus,… Chương 5: Truyền thông với email 25/09/2014 6 server
- Cài đặt SMTP • SMTP dùng TCP port 25 • Trước khi thực hành nên kiểm tra địa chỉ IP của ISP • Cách kiểm tra tốt nhất là dùng trình telnet Chương 5: Truyền thông với email 25/09/2014 7 server
- Gửi SMTP mail • Start Run: gõ lệnh cmd và click OK • Gõ lệnh: telnet 25 • Khi client đã kết nối được với server thì server luôn trả lời với nội dung: 220 • Khởi động phiên làm việc với các lệnh sau: Chương 5: Truyền thông với email 25/09/2014 8 server
- Gửi SMTP mail helo Mail From: Rcpt To: Data . Quit Chương 5: Truyền thông với email 25/09/2014 9 server
- Lập trình gửi mail bằng .NET • Khai báo thư viện: using System.Threading; using System.Net; using System.Net.Sockets; using System.Text; using System.IO; Chương 5: Truyền thông với email 25/09/2014 10 server
- Lập trình gửi mail bằng .NET • Khai báo đối tượng thuộc lớp TcpClient để quản lý kết nối với server: TcpClient client; • Nếu dùng IPEndpoint thì ta có thể truy cập vào máy Server POP bằng địa chỉ IP: IPEndPoint iep = new IPEndPoint(IPAddress.Parse(tbserver.Text), int.Parse(tbport.Text)); TcpClient client = new TcpClient(); client.Connect(iep); Chương 5: Truyền thông với email 25/09/2014 11 server
- Lập trình gửi mail bằng .NET • Nếu kết nối trực tiếp, cách thức như sau: client = new TcpClient(tbserver.Text, int.Parse(tbport.Text)); • Kết nối: string Data = "Helo"; StreamReader sr = new StreamReader(client.GetStream()); StreamWriter sw = new StreamWriter(client.GetStream()); sw.WriteLine(Data); sw.Flush(); Chương 5: Truyền thông với email 25/09/2014 12 server
- Lập trình gửi mail bằng .NET • Gửi địa chỉ sender cho server: Data = "MAIL FROM: "; sw.WriteLine(Data); sw.Flush(); • Đọc thông báo gửi về từ server và xử lý nếu cần thiết • Gửi địa chỉ receiver cho server: Data = "RCPT TO: "; sw.WriteLine(Data); sw.Flush(); Chương 5: Truyền thông với email 25/09/2014 13 server
- Lập trình gửi mail bằng .NET • Bắt đầu nội dung thư: Data = "Data"; sw.WriteLine(Data); sw.Flush(); • Thiết lập subject: Data = "SUBJECT:" + tbsub.Text + "\r\n" + tbnoidung.Text + "\r\n" + "." + "\r\n"; sw.WriteLine(Data); sw.Flush(); Chương 5: Truyền thông với email 25/09/2014 14 server
- Lập trình gửi mail bằng .NET • Ngắt kết nối: Data = "QUIT"; sw.WriteLine(Data); sw.Flush(); Chương 5: Truyền thông với email 25/09/2014 15 server
- Lập trình gửi mail bằng .NET Chương 5: Truyền thông với email 25/09/2014 16 server
- Lập trình gửi mail bằng .NET • Đối với SMTP thì chỉ có thể dùng ASCII.GetBytes vì nó là giao thức gửi dựa trên văn bản, dữ liệu nhị phân không được chấp nhận Chương 5: Truyền thông với email 25/09/2014 17 server
- Nhận SMTP mail • Start Run: gõ lệnh cmd và click OK • Gõ lệnh: telnet 110 • Khi client đã kết nối được với server thì server luôn trả lời với nội dung: 220 • Khởi động phiên làm việc với các lệnh sau: Chương 5: Truyền thông với email 25/09/2014 18 server
- Nhận SMTP mail User Pass Stat //xem trạng thái của hộp thư List //liệt kê danh sách thư Retr Dele Rset //hủy đánh dấu xóa các thư Quit Chương 5: Truyền thông với email 25/09/2014 19 server
- Lập trình nhận mail bằng .NET • Để hoàn thành việc kiểm tra chương trình, ta có thể cài đặt một email reader khác như Microsoft Outlook, cấu hình một vài tài khoản email. • Thực hiện việc gửi email từ tài khoản email đó • Kiểm tra kết quả bằng chương trình mới viết Chương 5: Truyền thông với email 25/09/2014 20 server
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình mạng: Chương 3 - Lương Ánh Hoàng
90 p | 143 | 16
-
Bài giảng Lập trình mạng: Chương 7 - Phạm Trần Vũ
63 p | 110 | 11
-
Bài giảng Lập trình mạng: Chương 1 - Lương Ánh Hoàng
17 p | 122 | 10
-
Bài giảng Lập trình mạng: Chương 2 - ĐH Công nghệ Đồng Nai
65 p | 77 | 8
-
Bài giảng Lập trình mạng: Chương 3 - ThS. Trần Đắc Tốt
37 p | 53 | 7
-
Bài giảng Lập trình mạng: Chương 2 - ThS. Trần Đắc Tốt
49 p | 23 | 7
-
Bài giảng Lập trình mạng: Chương 4 - ĐH Công nghệ Đồng Nai
54 p | 79 | 6
-
Bài giảng Lập trình mạng: Chương 1 - Trương Đình Huy
14 p | 33 | 6
-
Bài giảng Lập trình mạng: Chương 2 - ThS. Trần Đắc Tốt
49 p | 71 | 6
-
Bài giảng Lập trình mạng - Chương 5: Lập trình Web - CGI
112 p | 75 | 5
-
Bài giảng Lập trình mạng: Chương 2 - Phạm Trần Vũ
38 p | 80 | 4
-
Bài giảng Lập trình mạng: Chương 1 - ĐH Công nghệ Đồng Nai
23 p | 71 | 4
-
Bài giảng Lập trình mạng - Chương 1: Giới thiệu Lập trình mạng
18 p | 63 | 4
-
Bài giảng Lập trình mạng: Chương 3 - Phạm Trần Vũ
24 p | 88 | 3
-
Bài giảng Lập trình mạng: Chương 4 - Phạm Trần Vũ
10 p | 102 | 3
-
Bài giảng Lập trình mạng - Chương 2: Lập trình mạng với thư viện Winsock của Windows
37 p | 44 | 3
-
Bài giảng Lập trình mạng - Chương 5: Lập trình với hệ thống web
41 p | 30 | 3
-
Bài giảng Lập trình mạng - Chương 7: Chương trình chat trên nhiều máy
19 p | 49 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn