Nghiên cứu và xây dựng ứng dụng gửi nhận email trên điện thoại blackberry
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
Đề tài:
NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG
GỬI NHẬN E-MAIL TRÊN ĐIỆN THOẠI BLACKBERRY
KHÓA LUẬN CỬ NHÂN TIN HỌC
Giáo viên hướng dẫn:
Thầy ĐỖ HOÀNG CƯỜNG
Sinh viên thực hiện:
0612022 – LƯƠNG PHAN BÌNH
0612374 – TỐNG PHƯỚC BẢO QUỐC
NIÊN KHÓA 2006 – 2010
Trang 2L I CÁM N ỜI CÁM ƠN ƠN
Chúng em xin bày tỏ lòng biết ơn chân thành nhất đến Thầy Đỗ hoàng Cường, người Thầy đã tận tâm hướng dẫn, giúp đỡ chúng em trong suốt thời gian thực hiện luận văn này
Chúng con xin gửi tất cả lòng biết ơn sâu sắc và sự kính trọng đến ông bà, cha mẹ,cùng toàn thể gia đình, những người đã nuôi dạy chúng con trưởng thành đến ngày hôm nay
Chúng em cũng xin chân thành cảm ơn quý Thầy Cô trong Khoa Công Nghệ Thông Tin, trường Đại Học Khoa Học Tự Nhiên TP.Hồ Chí Minh đã tận tình giảng dạy, hướng dẫn, giúp đỡ và tạo điều kiện cho chúng em thực hiện tốt luận văn này
Xin chân thành cảm ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt tình của các anh chị và tất cả các bạn, những người đã giúp chung tôi có đủ nghị lực và ý chí để hoàn thành luận văn này
Mặc dù đã cố gắng hết sức, song chắc chắn luận văn không tránh khỏi những thiếusót chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý Thầy Cô và các bạn
TP.HCM, 6/2010Nhóm sinh viên thực hiệnLương Phan Bình – Tống Phước Bảo Quốc
Trang 3L I NH N XÉT ỜI CÁM ƠN ẬN XÉT
Trang 4L I NÓI Đ U ỜI CÁM ƠN ẦU
Trang 5MỤC LỤC
LỜI CÁM ƠN 2
LỜI NH N XÉT ẬN XÉT 3
LỜI NÓI ĐẦU 4
Giới thi u ệu 7
Tổ chức lu n văn ận văn 7
Danh sách hình 7
Danh sách bảng 7
Các thu t ngữ viết tắt được sử dụng ận văn 7
PHẦN 1: MÔI TRƯỜNG L P TRÌNH BLACKBERRY ẬN XÉT 7
Chương 1: Tổng quan h điều hành Research In Motion (RIM) ệu 7
1.1 Kiến trúc Research In Motion OS: 7
1.2 Các phiên bản Research In Motion OS: 13
1.3 Giới thi u Research In Motion OS 5.0: ệu 15
Chương 2: BlackBerry Mobile 16
2.1 Tổng quan về BlackBerry Mobile: 16
2.2 M t số vấn đề khi xây dựng ứng dụng trên BlackBerry: ột số vấn đề khi xây dựng ứng dụng trên BlackBerry: 18
Chương 3: L p trình với BlackBerry API ận văn 24
3.1 BlackBerry API: 24
3.2 Mail API trên BlackBerry: 27
PHẦN 2: CƠ SỞ LÝ THUYẾT 28
Chương 4: Các vấn đề trong gửi nh n e-mail ận văn 28
Chương 5: Các giao thức trong gửi nh n e-mail ận văn 28
5.1 Các định nghĩa: 28
5.2 Giao thức SMTP: 28
5.3 Giao thức POP3: 35
5.4 Giao thức IMAP: 41
Chương 6: Phân bi t giữa Push e-mail và Pull e-mail ệu 61
6.1 Push e-mail: 61
6.2 Pull e-mail: 62
PHẦN 3: XÂY DỰNG ỨNG DỤNG GỬI NH N E-MAIL ẬN XÉT 62
Chương 7: Các kĩ thu t xử lí trong ứng dụng ận văn 62
Trang 67.1 Các giải pháp về vấn đề nh n e-mail: ận văn 62
7.2 Các giải pháp về vấn đề gửi e-mail: 65
7.3 Các giải pháp về vấn đề giả l p Push e-mail: ận văn 66
7.4 Các giải pháp về vấn đề xây dựng ứng dụng Push e-mail thực sự: 69
7.5 Các giải pháp về vấn đề lưu trữ thông tin trong ứng dụng: 69
7.6 Các giải pháp về vấn đề tiếng Vi t trong ứng dụng: ệu 74
7.7 Các giải pháp về vấn đề đa ngôn ngữ: 76
7.8 Các giải pháp về vấn đề 76
Chương 8: Phân tích và thiết kế 76
8.1 Khảo sát hi n trạng ệu 76
8.2 Xác định yêu cầu: 76
8.3 Xây dựng mô hình use-case: 78
8.4 Đ c tả use-case: ặc tả use-case: 79
8.5 Thiết kế kiến trúc: 94
8.6 Thiết kế lớp: 96
8.7 Thiết kế xử lí: 96
Chương 9: Cài đ t và thử nghi m ặc tả use-case: ệu 96
9.1 Môi trường phát triển: 96
9.2 Cài đ t: ặc tả use-case: 96
9.3 Thử nghi m: ệu 97
Chương 10: Tổng kết 97
10.1 Kết lu n: ận văn 97
10.2 Hướng phát triển: 97
PHẦN 4: PHỤ LỤC 97
Phụ lục A: SDKs và chương trình HelloWorld 97
Phụ lục B: Các giao thức mail 97
Phụ lục C: 97
Tài li u tham khảo ệu 97
Trang 7Gi i thi u ới thiệu ệu
T ch c lu n văn ổ chức luận văn ức luận văn ận văn
Danh sách hình
Danh sách b ng ảng
Các thu t ng vi t t t đ ận văn ữ viết tắt được sử dụng ết tắt được sử dụng ắt được sử dụng ược sử dụng ử dụng ụng c s d ng
PH N 1: MÔI TR ẦU ƯỜI CÁM ƠN NG L P TRÌNH BLACKBERRY ẬN XÉT
Ch ương 1: Tổng quan hệ điều hành Research In Motion (RIM) ng 1: T ng quan h đi u hành Research In Motion (RIM) ổ chức luận văn ệu ều hành Research In Motion (RIM)
1.1 Ki n trúc Research In Motion OS: ết tắt được sử dụng
1.1.1 Gi i thi u Research In Motion OS: ới thiệu Research In Motion OS: ệu Research In Motion OS:
Hệ điều hành Research In Motion(RIM OS) được phát triển bởi công ty Research InMotion, được sử dụng hầu hết cho dòng điện thoại thông minh BlackBerry của hãng này
Sơ lược về hệ điều hành Research In Motion:
- Hệ điều hành RIM lập trình trên ngôn ngữ C++
- Ngôn ngữ lập trình: Sử dụng ngôn ngữ Java và BlackBerry API
- Kernel: Sử dụng Kernel Java
- Bản quyền sử dụng: Research In Motion độc quyền phân phối và phát triển
- Ngôn ngữ hỗ trợ: US English, UK English, French, Spanish, EuropeanPortuguese, Brazilian Portuguese, Basque, Catalan, Galician, Italian, German,Dutch, Russian, Polish, Czech, Hungarian, Turkish, Arabic, Hebrew, Indonesian,Thai, Japanese, Chinese (Traditional), Chinese (Simplified), Korean
Hệ điều hành BlackBerry là một hệ điều hành đa nhiệm, sử dụng cách thức dẫn nhập
dữ liệu thông qua bánh xe di chuyển(Trackwheel), viên bi di chuyển(Trackball) hay bàncảm ứng(Trackpad), màn hình cảm ứng(Touchscreen) Hệ điều hành hỗ trợ các thông tinthiết bị di động chuẩn MIDP 1.0 và giao thức không dây chuẩn WAP 1.2 Hỗ trợ trìnhduyệt web WAP và các thông tin như lịch, công việc, địa chỉ, E-mail và chú thích nhưmột số điện thoại thông minh khác Các điện thoại OS 4.0 trở lên hỗ trợ MIDP 2.0
Trang 8Các chức năng này được thực hiện bởi phần mềm BlackBerry EnterpriseServer(BES), phần mềm này là một phần của hệ điều hành Một phiên bản cải tiến củaBES là BlackBerry Internet Service(BIS) Nó cho phép người dùng truy cập Internet.Ngoài ra, người dùng còn có thể sử dụng các giao thức POP3, IMAP và truy cập OutlookE-mail mà không cần truy cập thông qua BES khi sử dụng BIS BIS là một dịch vụ đượcđiều hành bởi RIM, được cung cấp thông qua các nhà cung cấp dịch vụ di động Cácphiên bản cập nhật có thể được tải thông qua dịch vụ tải OTASL(Air Software Loading)cung cấp bởi hệ điều hành BlackBerry.
Hình 1.1 - Cấu trúc mạng của Blackberry(Nguồn: BlackBerry OS
Report - Josh Schiffman)
Mặc dù hệ điều hành BlackBerry là một hệ điều hành đóng, nhưng nó cung cấpmột thư viện giao diện lập trình ứng dụng(Application Programming Interface –API) Các nhà lập trình có thể sử dụng các API này để biết chương trình ứng dụngcho BlackBerry
1.1.2 Nh p li u trên Research In Motion OS: ập liệu trên Research In Motion OS: ệu Research In Motion OS:
Hệ điều hành Research In Motion được sử dụng cho các máy của chínhhãng là BlackBerry Vì vậy đều được sử dụng các phương thức nhập liệu sau:
Các máy BlackBerry có 4 kiểu nhập liệu chính là trackwheel, trackball
và trackpad và màn hình cảm ứng(Touchscreen):
Được sử dụng cho các dòng máy cũ như 850/870, dòng sản phẩm
6000, dòng sản phẩm 7000 và 8700 Kiểu nhập liệu này sử dụng mộtbánh xe di chuyển bên hông máy( gọi là Trackwheel) để di chuyển
Trang 9lên xuống trong giao diện người dùng Người dùng có thể di chuyểnqua trái và qua phải bằng cách giữ nút shift trên bàn phím và dichuyển trackwheel Chọn ứng dụng hay mở menu ứng dụng bằngcách nhấp vào Trackwheel.
Hình 1.1 - Trackwheel trên máy BlackBerry 8700
(Nguồn: www.gsmarena.com)
Được sử dụng từ dòng máy 8100, và các dòng máy 8300, 8800,
8900, 9000, 9600 Trackball là một viên bi nằm ở chính giữa máy Ngườidùng có thể cuộn viên bi lên xuống và qua trái, qua phải để di chuyển tronggiao diện người dùng Nhấn vào trackball để chọn và mở menu của ứngdụng
Trang 10Hình 1.3 - Trackball trên điện thoại BlackBerry Pearl 8100
(Nguồn: www.GSMArena.com)
Trackpad là kiểu nhập liệu được sử dụng cho các dòng máy mớinhư 9700, 8500.v.v Trackpad là một bàn cảm ứng nhỏ được đặt ở giữamáy, người dùng có thể di chuyển bằng cách rê ngón tay trên trackpad.Chọn và mở menu ứng dụng bằng cách nhấp vào giữa trackpad
Hình 1.4 - Trackpad trên điện thoại Blackberry Bold 9700
(Ngồn www.GSMArena.com)
Touchscreen là kiểu nhập liệu được sử dụng cho các máy có mànhình cảm ứng như dòng điện thoại 9500 Người dùng có thể dùng tay hoặcbút cảm ứng để chọn trực tiếp trên màn hình cảm ứng này
Trang 11Hình 1.5 - Touchscreen trên điện thoại Blackberry Storm
9500(Nguồn: www.GSMArena.com)
sử dụng rộng rãi cho các máy đánh chữ và máy tính ngày nay
Research In Motion đã ứng dụng kiểu bàn phím này vào điện thoạicủa mình Giúp người dùng có thể nhập liệu bằng cả 2 tay và nhập liệunhanh hơn Kiểu bàn phím này đươc sử dụng trên hầu hết các điện thoại củaBlackBerry, trừ các loại điện thoại cảm ứng và các dòng sử dụng bàn phímSureType
Trang 12Bàn phím QWERTY trên máy BlackBerry Curve 8900
(Nguồn: ecvv.com)
Một số điện thoại được phân phối ở Bĩ hoặc Pháp còn sử dụng bànphím AZERTY, một phiên bản khác của kiểu bàn phím QWERTY chonhững người sử dụng ngôn ngữ Bĩ hay Pháp
Bàn phím AZERT Y Trên máy BlackBerry Curve 8900
(Nguồn: www mepodphone.net)
Bàn phím SureType là kiểu bàn phím dựa vào kiểu bàn phímQWERTY, nhưng thiết kế 2 ký tự trên 1 phím, giúp cho bàn phímSureType trở nên nhỏ gọn hơn so với bàn phím QWERTY nhưng vẫn đápứng được nhu cầu nhập liệu nhanh của người sử dụng BlackBerry
Bàn phím SureType còn trang bị cho người dùng một từ điển khoảng35.000 chữ tiếng Anh, giúp cho người dùng có thể gõ nhanh hơn bằng chế
độ gõ chữ thông minh Ngoài ra, các dòng điện thoại sử dụng bàn phím
Trang 13SureType còn có chức năng tự động học và nhớ những từ người dùng đểnhập liệu để thêm vào bộ tự điển, giúp người dùng nhập liệu nhanh hơn.
Bàn phím SureType được sử dụng cho các điện thoại như Pearl
Hình 1.6 - Bàn phím ảo SureType trong máy Blackberry 8550
(Nguồn: www.Blackberry.com)
c)
1.2 Các phiên b n Research In Motion OS: ảng
Trang 14T-Mobile[3] AT&T[4] Bell[5] Rogers[6] Telus[7] Verizon[8] Sprint[9] Virgin
Mobile USA[10]
5.0.0.624 (05/04/2010)
Trang 15Các phiên bản hệ điều hành Research In Motion(Nguồn: Wikipedia.org)
1.3 Gi i thi u Research In Motion OS 5.0: ới thiệu ệu
Do ứng dụng gởi và nhận mail trên điện thoại Blackberry được viết để chạytrên nền tảng hệ điều hành Research In Motion series 5.0, sau đây là một số sơlược về phiên bản này
Sự ra đời và phát triển mạnh mẽ của dòng điện thoại thông minh đã tạo ramôi trường phát triển ứng dụng mới Trong đó sự phát triển mạnh mẽ của dòngđiện thoại cảm ứng thúc đẩy sự ra đời của các dòng máy, hệ điều hành tiên tiếnhơn, có thể đáp ứng được nhu cầu phát triển của thị trường
Research In Motion đã cho ra đời phiên bản OS 5.0, được phát triển cho cácdòng điện thoại BlackBerry Pearl Flip 8200, Curve 8350i, 8330, 8520 và 8900,Bold 9000, Storm 9530 và Tour 9630 Sự ra đời của hệ điều hành phiên bản mớinày đánh dấu bước phát triển mạnh mẽ của hãng và hệ điều hành với các tính năng
hỗ trợ màn hình cảm ứng, và các tính năng mạnh mẽ khác hỗ trợ tốt hơn cho ngườidùng
Trang 16Hình x.x - Giao diện Research In Motion OS 5.0
(Nguồn: Wikipedia.org)
Tất cả các thiết bị sử dụng BlackBerry Internet Service(BIS) chạy hệ điềuhành phiên bản 5.0 này được cung cấp một trình duyệt mới mạnh mẽ hơn với cácchức năng hỗ trợ AJAX, chạy JavaScript tốt hơn và nhanh hơn, bộ hỗ trợBlackBerry Widget – bao gồm cả Google Gears và SQLite cho BlackberryWidgets
Ngoài các tính năng hỗ trợ BlackBerry Internet Service, hệ điều hành phiênbản 5.0 còn cung cấp cho người dùng những tính năng ưu việt như cờ đánh dấu E-mail, quản lý thư mục E-mail, tính năng để có thể xem và quản lý văn bản từ chia
sẽ file từ xa, chuyển lịch công việc và kết nối mạnh mẽ Ngoài ra, với các tínhnăng hỗ trợ màn hình cảm ứng, giao diện hoàn toàn mới và tiện dụng cho ngườidùng, Phiên bản hệ điều hành Research In Motion 5.0 đánh dấu một bước pháttriển mạnh mẽ, đáp ứng nhu cầu của người sử dụng và cả lập trình viên
o Đặc điểm nổi bật:
Ch ương 1: Tổng quan hệ điều hành Research In Motion (RIM) ng 2: BlackBerry Mobile
2.1 T ng quan v BlackBerry Mobile: ổ chức luận văn ều hành Research In Motion (RIM)
BlackBerry là tên gọi chung của một thiết bị di động được phát triển bởicông ty Research In Motion(RIM) có trụ sở chính tại Canada Ngoài các tính năngthông thường của một thiết bị thông minh như sổ địa chỉ, lịch công việc.v.v.BlackBerry còn được biết đến như một thiết bị hỗ trợ mạnh mẽ cho việc gởi vànhận mail ở bất kì đầu, miễn là nó có thể kết nối với mạng di động
Trang 17BlackBerry hiện nay chiếm hơn 20% thị trường thiết bị cầm tay thôngtin(smartphone) Với nhiều đặc tính nổi trội như khả năng bảo mật cao, hỗ trợ gởi
và nhận mail một cách mạnh mẽ, có thể kết nối ở khắp mọi nơi.v.v BlackBerry đãtrở thành thiết bị cầm tay thông minh phổ biến nhất đối với các doanh nhân ở thị
2.1.2 L ch s phát tri n: ịch sử phát triển: ử phát triển: ển:
Thiết bị Blackberry xuất hiện đầu tiên vào năm 1999 chỉ đơn thuần là mộtmáy nhắn tin di động(Pager) Chiếc máy có số hiệu 850 sử dụng 2 pin AA, có một
số chức năng cơ bản như truy cập Internet, lịch hẹn, sắp xếp và quản lý côngviệc.v.v Ở thời điểm các thiết bị di động đều rất lớn và không có nhiều chức năngnhư bấy giờ, 850 được đón nhận như một trong những thiết bị thành công nhấtthời điểm đó, và rất được các doanh nhân ưa chuộng
Vào năm 2002, các thiết bị phổ biến hơn của BlackBerry ra đời, hỗ trợ pushe-mail, gọi điện thoại di động, nhắn tin, fax, duyệt web và một số ứng dụng mạngkhác Lúc này thiết bị khá giống với hình dạng các điện thoại phổ biến bây giờ.Được cung cấp pin lithium có thể sạc, dung lượng bộ nhớ và tốc độ xử lý cũng cảitiến hơn rất nhiều
Mặc dù hầu hết các điện thoại dòng 5000 và 6000 của Blackberry đềuhướng vào thị trường mạng GSM Nhưng với sự phát triển của Sprint và Verizontrên nền tảng mạng CDMA ở thị trường Mỹ, vào năm 2003 RIM đã phát tirểnBlackBerry 6750 cho mạng của Verizon Kế tới là các phiên bản dòng 7200, điểnhình là dòng sản phẩm 7250, được phân phối qua Sprint và Verizon Đây là thiết
bị đầu tiên của BlackBerry có hỗ trợ Bluetooth
Ở thời điểm này, BlackBerry sản xuất thiết bị cho cả 2 dòng mạng GSM vàCDMA Trong đó 7210, 7220, 7230, 7280, 7290 được thiết kế cho mạng GSM Và
7250 được thiết kế cho mạng CDMA Riêng 7270 thật chất là một thiết bị WLAN,không hoạt động dựa trên mạng di động mà được sử dụng cho mục đích gọi VoIP.Dòng điện thoại 7500 sau đó được thiết kế cho mạng di động iDEN của Motorola
Có thể nói, bàn phím QWERTY là biểu tượng của Blackberry Tuy nhiên,một số người lại cho rằng thiết bị full QWERTY lại quá cồng kềnh, và họ ưachuộng dòng thiết bị mỏng và nhẹ hơn Chính vì điều này, RIM đã phát triển vàphân phối 7100t thông qua mạng T-Mobile vào cuối năm 2004, sử dụng bàn phimSureType – kiểu bàn phím với 2 ký tự cho mỗi phím
Trang 18Dòng thiết bị sử dụng bằng phím SureType thật sự được biết đến rộng rãivới sự ra đời của phiên bản 8100 vào năm 2006, hay còn gọi là BlackBerry Pearl.Với thay đổi lớn chính là một viên bi cuộn ở giữa(được gọi là Trackball) đượcthay thế cho thanh cuộn bên hông(được gọi là Trackwheel) của những dòng sảnphẩm trước Ban đầu, Pearl được thiết kế hỗ trợ mạng GSM, nhưng vào cuối 2007,Pearl 8130 được phát triển cho mạng CDMA.
Sau một loạt sản phẩm với bàn phím cải tiến SureType, BlackBerry lại cho
ra đời dòng sản phẩm 8700 với kiểu bàn phím QWERTY, sản phẩm này là mộttrong những sản phẩm bán chạy nhất của BlackBerry 8700 được phát triển với 3dòng sản phẩm, một cho mạng GSM với EDGE, một cho mạng GSM không sửdụng EDGE(phổ biến ở các nước Anh, Ý, Hồng Kông, Singapore, W-CDMA ởNhật), và một dòng sản phẩm khác sử dụng cho mạng CDMA
Vào ngày 12/2/2007, Blackberry bắt đầu phân phối 8800, sản phẩm GSMbán chạy nhất tại thời điểm lúc bấy giờ Đây là thiết bị với kiểu bàn phímQWERTY kết hợp với viên bi Trackball của dòng sản phẩm 8100 Vài tháng saudòng sản phẩm 8830 được phân phối thông qua Verizon, sử dụng mạng CDMA
Và sau đó dòng sản phẩm 8820 ra đời đây là sản phẩm sử dụng Wifi đầu tiên củaBlackBerry
Vào tháng 5/2007 BlackBerry lại tiếp tục giới thiệu dòng sản phẩmBlackBerry 8300, hay còn gọi là BlackBerry Curve Đây là sản phẩm đầu tiên củaBlackBerry có tích hợp camera, sản phẩm này cũng được phân phối ở nhiều mạngkhác nhau như GSM hay CDMA
BlackBerry đã và đang phát triển cho tới tận ngày nay Với nhiều sản phẩmcải tiến theo từng năm cụ thể, với nhiều kiểu dáng khác nhau như nắp gập, nắptrượt, cảm ứng.v.v BlackBerry đã và đang dần khẳng định vị thế là một trongnhững sản phẩm thiết bị cầm tay thông minh mạnh và hiệu quả nhất
2.2 M t s v n đ khi xây d ng ng d ng trên BlackBerry: ột số vấn đề khi xây dựng ứng dụng trên BlackBerry: ố vấn đề khi xây dựng ứng dụng trên BlackBerry: ấn đề khi xây dựng ứng dụng trên BlackBerry: ều hành Research In Motion (RIM) ựng ứng dụng trên BlackBerry: ức luận văn ụng
2.2.1 Java trên BlackBerry:
Ứng dụng trên Blackberry có thể được phát triển bằng ngôn ngữ Java, cụthể là J2ME(Java micro Edition) như các thiết bị di động có hỗ trợ Java khác.Ngoài ra, Research In Motion còn cung cấp cho những người phát triển ứng dụngmột bộ Application Programming Interface(API) bao gồm các hàm và các câulệnh hỗ trợ việc lập trình trên điện thoại BlackBerry
Trang 19Application Programming Interface(API) của BlackBerry bao gồm các lớp, cáchàm hỗ trợ cho việc phát triển ứng dụng trên BlackBerry, bao gồm:
o Brower: trong bộ net.rim.blackberry.api , hỗ trợ các thao tác về trình duyệtweb và tạo trang web
o Invoke: trong bộ net.rim.blackberry.api, hỗ trợ truy cập vào các ứng dụngsẵn có của máy như mail, task, memo.v.v
o Mail:Hỗ trợ các thao tác về mail như đọc, soạn mail và gởi mail
o Phone: Hỗ trợ các thao tác về nghe và nhận cuộc gọi
o Pdap: Hỗ trợ thao tác cho các ứng dụng PDA như công việc, lịch, sổ địachỉ.v.v
o API về thiết bị ngoại vi như bluetooth, pin, ui.v.v
API hỗ trợ việc mã hóa, lưu trữ khóa, giải mã.v.v
2.2.2 Chu kì s ng c a m t ch ống của một chương trình BlackBerry: ủa một chương trình BlackBerry: ột chương trình BlackBerry: ương trình BlackBerry: ng trình BlackBerry:
Chương trình được bắt đầu ở trạng thái tạm dừng(Pause), lắng nghe cácthông điệp mà người dùng có thể tương tác trong chương trình Khi có một thôngđiệp mà chương trình có thể quản lý, chương trình sẽ chuyển sang trạng thái hoạtđộng(Active), sau khi thực hiện xong, chương trình lại quay về trạng thái tạmdừng
Chương trình kết thúc(Destroyed) khi người dùng chọn thoát chương trình.Quá trình lắng nghe diễn ra liên tục
Trang 20Chu kỳ sống của chương trình BlackBerry(Nguồn: BlackBerry OS Report - Josh Schiffman)
2.2.3 Môi tr ường lập trình BlackBerry: ng l p trình BlackBerry: ập liệu trên Research In Motion OS:
Về cơ bản, người dùng có thể sử dụng bất kỳ môi trường nào để lập trìnhứng dụng java cho BlackBerry BlackBerry còn cung cấp cho người dùng một sốmôi trường lập trình như sau để hỗ trợ thêm về API của BlackBerry
o BlackBerry Java Development Environment(JDE): Đây là chương trìnhcần thiết khi lập trình BlackBerry, nó cung cấp môi trường, máy ảo và cácAPI cần thiết để lập trình BlackBerry Bộ lập trình này yêu cầu JavaRuntime Environment(JRE) và Java Development Kits(JDK) 1.6 để chạy
Bộ lập trình này bao gồm:
Công cụ ký(sign) code để phát triển ứng dụng trên môi trường máy thực tế
o BlackBerry JDE Plug-in cho Eclipse: Đây là một Plug-in dành cho Eclipse,cung cấp khả năng lập trình BlackBerry trên môi trường Eclipse Ngườidùng có thể phát triển ứng dụng BlackBerry thông qua Eclipse Plug-in nàycòn cung cấp các máy ảo cần thiết cho việc lập trình, tùy thuộc và JDE càiđặt trong máy
o Rapid Application Development tools for BlackBerry(MDS Studio 2.0):Môi trường này cung cấp cho người phát triển ứng dụng khả năng phát triểncác ứng dụng khác nhau như mạng, cơ sở dữ liệu.v.v
o BlackBerry Plug-in cho Microsoft Visual Studio: Đây là Plug-in dành choVisual Studio của Microsoft Cung cấp khả năng phát triển ứng dụngBlackBerry qua môi trường Visual Studio Tuy nhiên, Plug-in này hiện naykhông được Research In Motion phát triển tiếp
o NetBeans: Người dùng có thể sử dụng Netbeans để lập trình ứng dụngBlackBerry
Trang 21Các công cụ lập trình MDS trên BlackBerry(Nguồn: BlackBerry OS Report - Josh Schiffman)
BlackBerry cung cấp cho người dùng một bộ máy ảo gần như hoàn chỉnh
về các tính năng để người dùng có thể chạy thử và phát triển ứng dụng trênBlackBerry
Tất cả các dòng máy đã sản xuất của Research In Motion đều có một máy
ảo với chức năng và hình dáng tương đương
Máy ảo BlackBerry bao gồm tất cả các tính năng của một máy BlackBerrythông thường, bao gồm kết nối mạng di động và mạng máy tính, chế độ Holster,chế độ pin và nhiều chế độ khác
Trang 22Hình x.x - Máy ảo 9530 của BlackBerry(Nguồn: www.Blackberry.com)
Mặc dù người phát triển ứng dụng có thể tự do phát triển ứng dụng choBlackBerry Tuy nhiên, khi sử dụng API của BlackBerry cung cấp, Research InMotion cần phải theo dõi một số chương trình nhạy cảm sử dụng các API liênquan tới việc bảo mật và quản lý các thông tin nằm trong máy Các hàm về bảomật và quản lý trong BlackBerry API đều bị khóa, và yêu cầu phải được ký trướckhi sử dụng trên máy thật
Một số API như các API về mã hóa, bảo mật bắt buộc phải được Research
In Motion ký trước khi sử dụng Điều này giúp cho người dùng có thể sử dụng cácchương trình được phát triển mà không phải lo về các vấn đề mã hóa và bảo mậtcủa mình
Một số chương trình sử dụng MIDP để truy cập vào máy cần được ký đểxác minh ứng dụng này an toàn Khi được ký, chương trình sẽ không xuất hiện cáccảnh báo cho người dùng khi chương trình sử dụng các kết nối file, kết nối mạngcũng như truy cập dữ liệu trong máy nữa
Các gói cần phải ký trước khi sử dụng là:
Net.rim.blackberry.api.browser Gói này cung cấp cho ứng dụng khả
năng truy cập vào trình duyệt củaBlackBerry
Net.rim.blackberry.api.invoke Gói này cung cấp cho ứng dụng khả
năng truy cập vào các ứng dụng có sẵncủa BlackBerry như lịch công việc, tinnhắn, sổ ghi chép và các ứng dụng vềmạng điện thoại
Net.rim.blackberry.api.mail Gọi này cung cấp cho phép ứng dụng
truy cập vào phần mềm tin nhắn củaBlackBerry để gởi, nhận và đọc tin nhắnE-mail
Net.rim.blackberry.api.mail.event Gói ứng dụng này định nghĩa các sự kiện
và lắng nghe, quản lý các sự kiện liênquan tới mail
Net.rim.blackberry.api.menuitem Gói này dùng cho phép người phát triển
ứng dụng có thể thêm các menu vàochương trình BlackBerry
Trang 23Net.rim.blackberry.api.options Gói này cho phép người phát triển ứng
dụng có thể thêm các tùy chọn củachương trình vào danh sách tùy chọn cósẵn của máy BlackBerry
Net.rim.blackberry.api.pdap Gói này cung cấp cho ứng dụng khả
năng truy xuất vào chương trình quản lýthông tin người dùng của Blackberry như
sổ địa chỉ, công việc, lịch
Javax.mircoedition.pim
Net.rim.blackberry.api.phone Gọi này cung cấp cho ứng dụng khả
năng sử dụng các tính năng của các ứngdụng phone
Net.rim.blackberry.api.phone.phonel
máy
Net.rim.blackberry.api.browser.field Gói này cung cấp cho ứng dụng khả
năng hiển thị trang web trong chươngtrình
Net.rim.blackberry.api.browser.plugi
web của BlackBerry
Net.rim.blackberry.api.crypto Gói này cung cấp cho ứng dụng các tính
năg về bảo mật, mã hóa, chữ ký điện tử,chứng thực dữ liệu và quản lý chứngthực
Net.rim.blackberry.api.io.http Gói này cung cấp cho ứng dụng khả
năng đăng ký một hay nhiều địa chỉ tớitrình duyệt web của BlackBerry
(Nguồn:BlackBerry API references)
Các gói kể trên sẽ hoạt động bình thường trên máy ảo khi phát triển ứngdụng Tuy nhiên, chương trình cần phải ký trước khi sử dụng trên máy thật
Để ký cho chương trình của mình, người phát triển ứng dụng cần truy cập
Research In Motion, người phát triển ứng dụng sẽ chờ để lấy chữ ký và ký choứng dụng của mình Sau đó người phát triển ứng dụng có thể triển khai trên máythật
Trang 24Ch ương 1: Tổng quan hệ điều hành Research In Motion (RIM) ng 3: L p trình v i BlackBerry API ận văn ới thiệu
3.1 BlackBerry API:
Ngoài việc hỗ trợ các gói thư viện MIDLET của các ứng dụng Java trên di động,BlackBerry còn bổ sung rất nhiều thư viện đặc biệt chỉ sử dụng trên RIM OS Các gói thư
viện này có tên bắt đầu net.rim.* Hướng dẫn sử dụng của các thư viện này được miêu
Trong nội dung của báo cào này chỉ xin giới thiệu một số lớp được sử dụng trong xâydựng chương trình
3.1.1 L p trình giao di n trên BlackBerry: ập liệu trên Research In Motion OS: ệu Research In Motion OS:
Viết hướng dẫn sử dụng các lớp UI
3.1.2 L p trình m ng trên BlackBerry: ập liệu trên Research In Motion OS: ạng trên BlackBerry:
o javax.microedition.io.Connector:
Lớp Connector cung cấp khả năng kết nối thiết bị bằng nhiều giaothức như: comm, socket, udp, sms, mms, http, https, tls, ssl,bluetooth.v.v Ngoài ra, lớp này còn hỗ trợ khả năng kết nối của thiết bịqua sóng wifi đối với kết nối TCP hoặc UDP Trong phần này chỉ đềcập tới kết nối bằng socket và bằng ssl/tls
Lớp Connector mở một kết nối bằng socket thông qua mạng diệnrộng bằng câu lệnh open có cấu trúc như sau:
Connector.open("socket://<host>:<port>/<path>[<optionalparameters>]");
Trong đó:
o Deviceside: Cho biết kết nổi được kết nối trực tiếp quaTCP hay qua proxy TCP Deviceside=true nếu kết nốitrực tiếp qua TCP, deviceside=false nếu kết nối thôngqua proxy TCP
o Interface: interface=wifi cho biết kết nối wifi được mở
o Apn: một kết nối thông qua APN được tạo ra
o TunnelAuthUsername: tên truy cập để kết nối tớiAPN
Trang 25o TunnetAuthPassword: mật khẩu để kết nối tới APN.
o Deviceside: Cho biết kết nổi được kết nối trực tiếp quaTCP hay qua proxy TCP Deviceside=true nếu kết nốitrực tiếp qua TCP, deviceside=false nếu kết nối thôngqua proxy TCP
o Interface: interface=wifi cho biết kết nối wifi được mở
o Apn: một kết nối thông qua APN được tạo ra
o TunnelAuthUsername: tên truy cập để kết nối tớiAPN
o TunnetAuthPassword: mật khẩu để kết nối tới APN.Kết nối SSL/TLS có thể thực hiện thông qua 2 chế độ:
Service – MDS) của BlackBerry Enterprise Server(BES) cungcấp TLS/SSL như một hỗ trợ cho thiết bị Mọi giao tiếp thôngqua internet giữa BES và Web server được mã hóa sử dụngTLS Giao tiếp thông qua mạng diện rộng giữa thiết bị vàBES không được mã hóa bởi TLS/SSL, nhưng vẫn được mãhóa bằng thuật toán TripleDES Dữ liệu TLS được giải mã tạiMDS và mã hóa lần nữa bằng TripleDES
Trang 26 Chế độ proxy: Dịch vụ dữ liệu điện thoại( Mobile DataService – MDS) của BlackBerry Enterprise Server(BES) cungcấp TLS/SSL như một hỗ trợ cho thiết bị Mọi giao tiếp thôngqua internet giữa BES và Web server được mã hóa sử dụngTLS Giao tiếp thông qua mạng diện rộng giữa thiết bị vàBES không được mã hóa bởi TLS/SSL, nhưng vẫn được mãhóa bằng thuật toán TripleDES Dữ liệu TLS được giải mã tạiMDS và mã hóa lần nữa bằng TripleDES.
o javax.microedition.io.SocketConnection interface và
javax.microedition.io.StreamConnection interface:
Hình x.x -
2 lớp này cung cấp kết nối socket giữa thiết bị và server Đồng thời
nó còn cung cấp một dữ liệu InputStream và dữ liệu OutputStream để quản
lý quá trình gởi/nhận của kết nối đó
Khi dữ liệu InputStream hay OutputStream bị đóng, nó chỉ có thểđược mở lại bằng lệnh gọi Connector.open()
o net.rim.device.api.crypto.tls.tls10.TLS10Connection:
Lớp này có thể tạo ra một kết nối TLS1.0 trực tiếp thông qua kết nối thông thường(ví dụ như TCP) Ngoài ra lớp này còn có chức năng định hướng kết nối là kết nối TLS nếu sử dụng kết nối thông thường.
Viết document về cách lưu trữ trên BlackBerry + Ví dụ minh họa
Trang 273.1.4 L p trình truy c p các ng d ng có s n trên BlackBerry: ập liệu trên Research In Motion OS: ập liệu trên Research In Motion OS: ứng dụng có sẵn trên BlackBerry: ụng có sẵn trên BlackBerry: ẵn trên BlackBerry:
Viết cách truy xuất vào các ứng dụng khác trên BlackBerry như AddressBook, Calendar.
3.1.5 L p trình s ki n trên BlackBerry: ập liệu trên Research In Motion OS: ự kiện trên BlackBerry: ệu Research In Motion OS:
Viết document cách l p trình sự ki n trên các Control ận văn ệu
3.2 Mail API trên BlackBerry:
Điểm đặc biệt của BlackBerry API là cung cấp đầy đủ các lớp cần thiết để quản lýthông tin của một cấu trúc Mime, Các lớp này được chứa trong gói thư việnnet.rim.device.api.mime.* và net.rim.blackberry.api.mail.*
- Gói net.rim.device.api.mime.*:
Multipurpose Internet Mail Exntensions(MIME) là một chuẩn được định nghĩa
để lưu trữ e-mail, hỗ trợ các loại định dạng khác nhau như văn bản, hình ảnh, âmthanh, video.v.v
Vì mail gởi qua các server thường được mã hóa và đóng gói Nhóm lớp mimecung cấp các lớp lưu trữ dữ liệu giao tiếp giữa mail server và thiết bị để lưu trữ dữliệu mail đã được đóng gói Bao gồm MIMEInputStream để đọc dữ liệu đã được
mã hóa theo chuẩn MIME Và MIMEOutputStream dùng để ghi dữ liệu mã hóatheo chuẩn MIME:
Trang 28PH N 2: C S LÝ THUY T ẦU ƠN Ở LÝ THUYẾT ẾT
Ch ương 1: Tổng quan hệ điều hành Research In Motion (RIM) ng 4: Các v n đ trong g i nh n e-mail ấn đề khi xây dựng ứng dụng trên BlackBerry: ều hành Research In Motion (RIM) ử dụng ận văn
Ch ương 1: Tổng quan hệ điều hành Research In Motion (RIM) ng 5: Các giao th c trong g i nh n e-mail ức luận văn ử dụng ận văn
5.1 Các đ nh nghĩa: ịnh nghĩa:
5.2 Giao th c SMTP: ức luận văn
5.2.1 L ch s : ịch sử phát triển: ử phát triển:
Tiền thân của SMTP là giao thức MTP (Mail Transfer Proticol) được địnhnghĩa trong RFC 772 vào tháng 9 năm 1980 Giao thức này diễn tả một tập hợpcác lệnh và thủ tục để 2 thiết bị kết nối với nhau qua TCP và trao đổi e-mail vớinhau Đến tháng 5 năm 1981, giao thức MTP được cập nhật trong RFC 780
Do tầm quan trọng và thực tế của việc trao đổi thư điện tử, đến tháng 11năm 1981, một giao thức mới được thiết kế riêng biệt cho việc gửi thư điện tử rađời, đó là giao thức SMTP (Simple Mail Transfer Protocol) Ban đầu giao thứcSMTP chỉ truyền những thư dạng văn bản theo chuẩn ARPAnet (định nghĩa trongRFC 733)
Đến tháng 8 năm 1982, 2 tài liệu RFC 821 và 822 được công bố, phát triểncác tính năng cho giao thức SMTP
Từ đó đến nay, mặc dù có nhiều tài liệu mới nhưng chủ yếu là bổ sung vàotài liệu chuẩn RFC 821 và RFC 822 Có thể ghi nhận một số thay đổi đáng chú ýcủa giao thức SMTP, đó là RFC 1425 được công bố tháng 2 năm 1993
RFC 1425 bổ sung khả năng mở rộng cho SMTP và có tên là ESMTP(SMTP Service Extensions hoặc Extended SMTP hoặc Enhenced SMTP)
RFC 1425 tiếp tục được sửa thành RFC 1651 (6/1994) và RFC 1869(11/1995) Các bổ sung về trao đổi kênh liên lạc và kích thước thư được địnhnghĩa trong những lần sửa đổi này
Một cột mốc đáng ghi nhận trong quá trình phát triển của giao thức SMTP
là 2 tài liệu RFC 2821 và RFC 2822 được công bố tháng 4 năm 2001 RFC 2821kết hợp chặt chẽ những đặc điểm của giao thức trong RFC 821 và RFC 1869, vàhiện là tài liệu chuẩn của giao thức SMTP Các tài liệu khác tiếp theo hỗ trợ các cơchế truyền an toàn, truyền tập tin kích thước lớn,
Trang 295.2.2 T ng quan: ổng quan:
SMTP (Simple Mail Transfer Protocol) là giao thức truyền thư tín đơngiản, một chuẩn truyền thư điện tử qua mạng Internet d ựa trên văn bản (text-based) Bên gửi và bên nhận lần lượt dùng các chuỗi lệnh và các thông tin cầnthiết trao đổi qua một kênh truyền tin cậy (reliable channel) thông thường là TCP.SMTP sử dụng cổng 25 cho kết nối thông thường và 465 (hoặc 587) cho các kếtnối an toàn sử dụng SSL hoặc TLS
Một phiên (session) trao đổi SMTP được bắt đầu từ khi client kết nối thànhcông đến server và client thực hiện thành công lệnh HELO Sau khi thiết lập kếtnối, server sẵn sàng lắng nghe các lệnh từ client gửi tới Client nên gửi lời chàoHELO đến server, server sẽ đáp lại bằng mã 250 Nếu sử dụng EHLO thay thế thìkết quả trả về là một danh sách các khả năng mà server hỗ trợ Sau câu lệnh trên,một phiên (session) trao đổi giữa client và server được bắt đầu
(Nguồn: www.TCPIPGuide.com)Trong một phiên SMTP có thể có nhiều giao tác (transaction) giữa client vàserver Mỗi giao tác bao gồm 3 bước theo thứ tự sau:
Trang 30 Khởi tạo giao tác và định danh người gửi: SMTP bên gửi báo cho SMTP bên nhận biết bên gửi muốn gửi thư và cung cấp địa chỉ e-mail cho bên nhận.
chỉ e-mail của người nhận cho SMTP bên nhận
tả RFC 822) cho SMTP bên nhận
Một số đặc điểm và sự mở rộng của giao thức SMTP:
Ngoài chức năng cơ bản là gửi thư, giao thức SMTP còn được sửdụng vào một số mục đích bên phía máy chủ như :
hợp
một cổng thư có nhiệm vụ chuyển đổi e-mail TCP/IP thành một dạng tươngthích với các hệ thống thư điện tử khác và ngược lại
thể dùng để kiểm tra tính xác thực của một địa chỉ mail mà không cần phảigửi mail đến địa chỉ đó
Trang 31 Mở danh sách địa chỉ (Mailing list expansion): lệnh EXPN trong giao thứcSMTP có thể được dùng để quyết định xem các địa chỉ mail có gắn vớidanh sách các địa chỉ mail không.
Các định nghĩa mở rộng của SMTP: khi sử dụng ESMTP với lệnh EHLO,kết quả trả về từ server có thể bao gồm các khả năng mở rộng sau:
MIME 8-bit RFC1652 Định nghĩa hỗ trợ 8-bit trong chuyển đổi
nội dung của thư códạng MIME
2554
Cơ chế chứng thựcđược sử dụng để tăngcường tính an toàn
thái chuyển thư RFC1891 Cho phép SMTP bêngửi yêu cầu SMTP
bên nhận cung cấpthông tin khi xảy ralỗi trong quá trìnhchuyển thư cho bênnhận
Cho phép gửi nhiềulệnh cùng lúc từ bêngửi sang bên nhậnthay vì gửi từng lệnh
nhận biết kích thướcthư sẽ gửi và bên nhận
có thể quyết định nhậnhay không
3207
Một số cơ chế an toàn được sử dụng trong giao thức SMTP:
Trang 32 Hạn chế lệnh được sử dụng, chẳng hạn một số lệnh chỉ được thực hiệnsau khi đã được chứng thực hoặc kênh truyền đã được thiết lập an toànbằng SSL hoặc TLS.
được chứng thực vẫn truy cập được vào server
thời gian
5.2.3 Các l nh h tr : ệu Research In Motion OS: ỗ trợ: ợ:
Lệnh HELO và EHLO:
- Cú pháp:
Hoặc EHLO <SP> <domain> <CRLF>
- Tham số: domain: tên miền bên gửi
- Ý nghĩa: Khởi tạo quá trình trao đổi giữa người dùng và server Giúpcho server biết được mình đang giao tiếp với ai Kết quả trả về thườngnhiều dòng ứng với các khả năng mà server hỗ trợ bao gồm các cơ chếchứng thực, thiết lập kết nối an toàn, Kết thúc lệnh cả client và serverđều ở trạng thái khởi tạo Hiện nay, hầu hết các máy chủ đều hỗ trợESMTP, do đó ta nên thử gửi lệnh EHLO tới máy chủ trước thay vì lệnhHELO
- Ví dụ:
HELO mydomain.comLệnh MAIL:
- Cú pháp:
MAIL <SP> FROM:<reverse-path> <CRLF>
- Tham số: reverse-path: chứa tên hộp thư người gửi
- Ý nghĩa: Lệnh MAIL sẽ khởi tạo một giao tác (transaction) - SMTP bêngửi báo cho SMTP bên nhận biết bên gửi muốn gửi thư và cung cấp địachỉ e-mail cho bên nhận
Trang 33- Ý nghĩa: SMTP bên gửi cung cấp một địa chỉ e-mail của người nhậncho SMTP bên nhận.
- Ý nghĩa: Cho biết bạn đang gởi nội dung của mail Server sẽ đáp lại mã
354 báo cho client biết server bắt đầu nhận nội dung Client sau khinhận câu trả lời từ server sẽ tiến hành gửi nội dung thư và bắt buộc phảikết thúc bằng 5 ký tự “\r\n.\r\n”
- Tham số: string: địa chỉ mail cần kiểm tra
- Ý nghĩa: Yêu cầu SMTP bên nhận kiểm tra tính xác thực của hộp thưđược chỉ định
- Tham số: string: tên danh sách địa chỉ
- Ý nghĩa: Yêu cầu máy chủ SMTP xác nhận tên danh sách địa chỉ và trả
về danh sách các địa chỉ chứa trong đó
Trang 34- Ý nghĩa: Yêu cầu máy chủ SMTP cung cấp thông tin hướng dẫn sửdụng lệnh
- Ý nghĩa: Lệnh NOOP không có chức năng đặc biệt nào ngoài việc dùng
để kiểm tra kết nối
Lời chào tạm biệt của lệnh QUIT
công
251
Trang 35nhưng thư được chấp nhận và cố gắng gửi đi.
thúc bằng <CRLF>.<CRLF>
Trả lời lại lệnh DATA
452
tự, ví dụ gửi lệnh DATA trước khi gửi lệnh MAIL
5.3 Giao th c POP3: ức luận văn
5.3.1 L ch s : ịch sử phát triển: ử phát triển:
Năm 1984, RFC 918 được công bố định nghĩa giao thức POP (Post OfficeProtocol) – đó là một tập các hành động gồm có người dùng cung cấp thông tinusername/password để server chứng thực và tải nội dung của hòm thư về máy
Đến tháng 2 năm 1985, RFC 937 định nghĩa POP phiên bản 2 bổ sung thêmtập lệnh và cho phép tải từng thư thay vì cả hòm thư Tuy nhiên POP2 vẫn còntương đối đơn giản và POP3 ra đời năm 1988 trong RFC 1081 POP3 tăng cườngkhả năng truy xuất và nhận mail cho các thiết bị
Hiện nay POP3 đang được sử dụng và ngầm được hiểu đến khi nói đến giaothức POP
Trang 365.3.2 T ng quan: ổng quan:
Post Office Protocol(viết tắt là POP) là giao thức là tầng application, sửdụng ở mail client cho phép client nhận email từ server thông qua kết nối TCP/IP
Các đặc điểm của POP:
- Chỉ hỗ trợ download và xóa mail
- Cổng(Port) chuẩn: 110
Mô hình hoạt động của POP3:
Trạng thái chứng thực (Authorization State):
Server gửi lời chào tới client cho biết đã sẵn sàng nhận lệnh Clientcung cấp thông tin chứng thực để truy cập vào hòm thư Phương phápthường sử dụng để chứng thực bằng POP3 là dùng username / password
để đăng nhập Đầu tiên client phát sinh lệnh USER kèm theo tham sốtên của hòm thư, server sẽ đáp lại ngay lập tức Sau đó client phát sinhlệnh PASS kèm theo tham số password Nếu đăng nhập thành công,server sẽ thông báo và kèm theo số lượng thư có trong hòm thư Clientchuyển sang trạng thái giao tác
Trang 37(Nguồn: www.TCPIPGuide.com)
Ngoài ra POP3 còn định nghĩa các cơ chế chứng thực khác như dùnglệnh APOP, AUTH
Trạng thái giao tác (Transaction State):
Client có thể lấy thư và xóa thư trong hòm thư
Client có thể thao tác trên hòm thư qua các lệnh : STAT, LIST,RETR, DELE, NOOP, RSET, TOP, UIDL
Trang 38(Nguồn: www.TCPIPGuide.com)
Trạng thái cập nhật (Update State): Khi client đã kết thúc giao tác bằnglệnh QUIT, server sẽ xóa các thư được đánh dấu đã xóa và đóng kết nốivới client
5.3.3 Các l nh h tr : ệu Research In Motion OS: ỗ trợ: ợ:
Lệnh USER:
- Cú pháp:
USER<SP> username <CRLF>
- Tham số: username: tên truy cập của người dùng (tên địa chỉ mail,
cò thể không cần phần thông tin domain)
- Ý nghĩa: Câu lệnh USER cung cấp User của người dùng cho Server
Câu lệnh này là câu lệnh đầu tiên sau khi thực hiện việcconnect với server
Trang 39- Ví dụ:
Lệnh PASS:
- Cú pháp:
PASS<SP>password<CRLF>
- Tham số: password: mật khẩu ứng với username
- Ý nghĩa: Câu lệnh PASS cung cấp một mật khẩu dạng plaintext đểchứng thực User đã điền ở phía trên
Thực hiện sau câu lệnh USER, câu lệnh này để điền passwordkhi đăng nhập vào mail, với pwd là chuỗi password
o #msgs: số lượng mail có trong hòm mail
o #bytes: tổng dung lượng(tính theo đơn vị byte) của các mailtrong hòm thư đó
Trang 40- Tham số: msg#: số thứ tự của mail.
- Ý nghĩa: Nhận về mail thứ msg# trong hòm thư, ví dụ khi thực hiệncâu lệnh RETR 3, hòm thư sẽ trả về nội dung mail thứ 3 trong hòmthư
- Ý nghĩa: Gởi về nội dung mail thứ msg# gồm phần header và line#dòng đầu trong phần thân của mail đó
Lưu ý: Không phải server nào cũng hỗ trợ câu lệnh này
- Tham số: msg#: số thứ tự của message
- Ý nghĩa: Đánh dấu là sẽ xóa mail thứ msg# trong hòm thư Lệnh nàychỉ được thực thi thật sự khi lệnh QUIT được thực thi Nếu kết nốitới server bị ngắt trước khi thực hiện lệnh QUIT Câu lệnh xóa mailnày sẽ không diễn ra
- Ví dụ:
DELE 10