1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Toán tin: Gửi thư từ PHP với mail server có bảo mật SMTP auth

26 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Gửi Thư Từ PHP Với Mail Server Có Bảo Mật SMTP Auth
Tác giả Nguyễn Thế Hào
Người hướng dẫn ThS. Lý Anh Tuan
Trường học Trường Đại Học Sư Phạm TP. HCM
Chuyên ngành Toán - Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2007
Thành phố TP.HCM
Định dạng
Số trang 26
Dung lượng 24,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tham gia vào WWW gồm có các máy chủ Server cung cap thông tin cho may khách Client sử dụng thông tin, Trên các máy chủ cẩn chạy các chương trình phản mẻm làm nhiệm vụ đón nhận thông tin

Trang 1

TRƯỜNG ĐẠI HỌC SU PHAM TP HCM

KHOA TOÁN - TIN

MSSV: k29.103.009

TP.HCM 2007

Trang 2

LOI MO DAU

Do an tốt nghiệp là phan rat quan trọng trong toàn bộ chương trình dao tạo của

các trường đại học Tuy đỏ an tốt nghiệp chiếm một thời gian không nhiều so với toản

bộ khóa học của các sinh viên nhưng nó mang tính khái quát va thực tế rất cao Điều

này đã giúp sinh viên hoàn thiện hơn kiến thức của minh cũng như tìm hiểu thêm kiếnthức giúp chủng em tự tin và mạnh dan hơn trên con đường dạy học.

Đồ an tốt nghiệp nảy em tìm hiểu, viết một class SMTP đẻ gởi mail bao gồmdạng textplain texthtnl có và không smtp auth, có file attach chạy được trên

Windows va Linux.

Em xin chan thành cam ơn thay ThS Lý Anh Tuan hướng dẫn em dé cho em

hoàn thành tot đỏ án tốt nghiệp lan nay

Với những tim hiểu trên cùng với kiến thức con hạn chẻ của mình chắc chan bản

báo cáo của em còn nhiều thiểu sót em rat mong thay cô củng các bạn giúp đỡ đẻ ban

bao cáo cua em được hoàn thiện hơn.

Em xin chân thành cảm ơn!

Tp HCM ngày 04 thang 05 nam 2007

Sinh viên

Nguyễn Thẻ Hao

Trang 3

Trương DH Sư pham TP UCM Do dn tot nghiệp

PHU LUC

Chương 1: CO SỞ LÝ THUYET 00.0.0 cccccscecscsessseeseesseesnessseeseee 2

1 Giới thiệu về Word Wide Web 2 0 c00cc0ccsesssessseesesseesseesseee 2

2 Giới thiệu thư điện (Ể:::-.-:.-‹ ccccnŸSiieorniaeoaniaro 4

3 Giới thiệu về ngôn ngữ lập trình PHP -. 522 5

4 Giới thiệu phần mềm máy chủ web Apache2 6

5 Giới thiệu về giao thức SMTP 5- 5c veersceexeereecee 7

Chương 2: PHAN TÍCH DO ÁN 56c csecceccecrvee 15

Chương 3: HƯỚNG DAN SỬ DỤNG 2- 55-555 17

1 Hướng dẫn cai đặc Apache2 — PHPS5 5-55 17

2 Hướng dẫn sử dung o.oo ececccececececeececeeseeecseeeeeeseeeceeeeeeeeeeees 21

Chương 4: KET LUẬN VA DANH GIA KET QUÁ 23

a | ee 23

Trang 4

Trường DH Sư phạm TP HOM Đà dn tot nghiệp

Chương 1: CƠ SỞ LÝ THUYET

1 Giới thiệu về Word Wide Web:

Word Wide Web (WWW) là mạng trao doi thông tin toàn cầu xây dựng trên nen

Internet Tham gia vào WWW gồm có các máy chủ (Server) cung cap thông tin cho

may khách (Client) sử dụng thông tin, Trên các máy chủ cẩn chạy các chương trình

phản mẻm làm nhiệm vụ đón nhận thông tin va gui tra thông tin gọi là Web server

(chương trình chủ cung cấp dịch vụ Web) Trên các máy khách cần chạy chương trình

phản mềm có kha năng giao tiếp với Web server de gửi yêu cau và nhận thông tin gọi

la Web browser (trình duyét Web) Web server và Web browser trao doi với nhau

những thông tin theo định dạng HTML qua giao thức HTTP Một số Web server

thong dụng hiện nay là HS Apache, Một số Web browser thông dụng hiện nay là

1I:, MSIE Mozilar, Opera,

Các chương trình phan mềm chạy trén may chủ cung cap dich vụ WWW gọi là chương trình ứng dung Web Do đặc điểm riêng của WWW các chương trình Web sử

dụng các công nghệ phát triển khác nhau với những chương trình thông thường chạy

trên may tinh cá nhân hay chạy trên mạng cục bộ LAN Kiến trúc tong thẻ cua chuong

trình được thực hiện qua 3 lớp sau: _

Giao diện người dùng

(Các trạm lam việc)

Logic ứng dụng tang trung gian

(Webserver, Application Server}

Lưu trữ back - end (Server CSDL quan hé)

Kiên trúc 3 lap của chương trình ứng dung Web.

Trang 5

Trương ĐH Sư phạm TP HCM Dei an tất nghiép

1.1 Tang trên cùng - giao diện người dùng:

La nơi trình duyét Web hoạt động Các trình duyệt Web kết nối với Web server

yêu cầu trang HTML Trinh duyệt Web hiển thị trang HTML nhận được từ Web

server theo khuôn đạng phù hợp cho người sử dụng.

1.2 Tang giữa - ứng dụng phan trung gian:

O mức cơ bản, Web server cung cấp nội dung tĩnh cho các trình duyệt Web Điều

đó có nghĩa là: một Web server nhận được một yêu cau về một trang Web và ánh xạ

URL đó tới tệp địa phương tại máy chủ.

Khi đó server sẽ tải tệp đó từ đĩa và gửi nó qua mạng tới trình duyệt Web của

người sử dụng Toàn bộ quá trình trao đổi này được thực hiện bởi trình duyệt Web và

Server liên lạc với nhau qua giao thức HTTP.

Trình duyệt Web

4 Web server tra tài liêu

cho wink duyệt Web

i, Người dùng yeu cdu một tai liệu

Web server

3 Weh server lây tài liệu

2, Web server tìm tài liệu

từ hệ thắng tép

trong hệ thang tệp

Hệ thông tệp

Kiến trúc 2 lớp đơn gian

Quả trình đơn giản đó cho phép cung cap các nội dung tĩnh như siêu văn bản và các tệp hình ảnh cho các trình duyệt Web Tính đơn giản đó dẫn tới tính trao đôi thông tin phức tạp hơn rất nhiều giữa trình duyệt Web và Web server.

Sự mở rộng quan trọng nhất là nội dung động

Trang 6

Trương DH Sư phạm TP HOM Đồ cin tắt nghiện

1 Người dùng wẻ

cáu - một - chương ma

trình esi cung cap

mot trang dong

Web dong va CGI

4 Web server truyền kết

quả của chương trình cgi

3 Web server lấy kết

quả của chương trình

Webstore.cgi

1.3 Tang thứ ba — lưu trữ:

Nơi lưu trừ dir liệu của các ứng dung Web và các Application Server.

2 Giới thiệu thư điện tw:

Đề pửi một bức thu thỏng thường ta có thé mat một vải ngày với một bức thư trong nước va nhiều thời gian hơn dé gui một bức thư ra nước ngoải Do đó đẻ tiết kiệm thời gian và tiền bạc ngày nay nhiều người đã sử dụng thư điện tử Thư điện tử được gửi đến người nhận rất nhanh để dang và rẻ hơn nhiễu so với sử dụng thư tay

truyền thong Vay thư điện tử là gi ? Nói một cách don giản, thư điện tử là một thong

điệp gửi từ máy tính này đến một máy tính khác trên mạng máy tính mang nội dungcần thiết từ người gửi đến người nhận Do thư điện tử gửi qua lại trên mạng và sử

dụng tin hiệu điện vì vậy tốc độ truyền rất nhanh Ngoài ra bạn có thẻ gửi hoặc nhận

thư riêng hoặc các bức điện giao địch với các file đính kèm như hình ảnh các cong

văn tải liệu thậm chí ca ban nhac, hay các chương trình phản mem

Thu điện tử con được gọi tắt là E-Mail (Electronic Mail) là cách gửi điện thưrat phô biển E-Mail có nhiều cau trúc khác nhau tùy thuộc vào hệ thong máy vi tinhcủa người sử dụng Mặc dù khác nhau vẻ cầu trúc nhưng tat cả đều có một mục đíchchung là gửi hoặc nhận thư điện tử tir một nơi này đến một nơi khác nhanh chóng.

Trang 7

Trưmg DH Sư pham TPO HC AI Độ dn tốt nghiệp

Ngày nay nhờ sự phát triển mạnh mẽ cua Internet (Mạng Lưới Troy én Tin Toản Cau)

người ta có thẻ gửi điện thư tới các quốc gia trên toan thẻ giới Với lợi ích như vậynẻn thư điện tử hau như trở thành một nhu cầu can phai có cua người sử dụng máy vitinh Gia sử như bạn đang là một nha kinh doanh nhỏ và can phai ban hang trén toan

quốc Vậy làm thể nao mà bạn có thé liên lạc với khách hang một cách nhanh chóng

va để dang Thư điện tử là cách giải quyết tốt nhất và nó đã trở thành một dich vụ pho

biên trên Internet.

Tại các nước tiên tiền cũng như các nước đang phát triển các trường đại học

các cơ cầu thương mai, các cơ quan chỉnh quyền v.v đều đã và dang kết nói hệ thông

may vi tính của họ vào Internet đẻ sự chuyẻn thư điện tử được nhanh chóng vả dé

dang.

3 Giới thiệu về ngôn ngữ lập trình PHP:

PHP (Hypertext Preprocessor) là kịch bản trên Server (Server Script), được thiết

kẻ cho phép người dùng xây dựng ứng dụng Web trên cơ sở dit liệu Mã PHP có thẻthực thi trẻn Web server dé tạo ra trang HTML và xuất ra trình duyệt Web theo yêu

cầu của người dùng.

PHP ra đời vào khoảng năm 1994, do một người phát minh mang ten RasmusLerdorf, dan dan nó được tiếp tục phát triển bởi nhiều người khác cho đến ngày nay

PEP là ngôn ngữ mã nguồn mỡ điều nay có nghĩa là người dùng có thẻ làm việc

trên mã nguon, them, sửa, sử dung và phân phỏi chúng PHP có những đặc điềm sau:

Được xảy dựng nhằm phat triển các img dụng Web Có nhiều ham, thủ tục

chuyên dụng sẵn trong lập trình Web hỗ trợ quản lý session

- lễ học dé sử dụng.

- Xu lý chuỗi mạnh,

- là ngôn ngữ script hướng đối tượng mã nguồn mở.

a

Trang 8

Trưưmg DH Su pham TP HCM Đà cin tắt nghiệp

- PHP có thé chạy hầu hết trên các hệ điều hành quy trình cài đặt dé dàng đơn

giản.

- Có khả năng mở rộng ngôn ngữ.

- Là ngôn ngữ phát triển cao, trong thời gian dai do có nhiều sự hỗ trợ nhiều

công cụ dựng sẵn.

- Trợ giúp CSDL mạnh qua các ham, thủ tục sẵn có do đó dé sử dụng và có tốc

độ cao PHP hỗ trợ hau hết cho các hệ quan trị CSDL va còn hỗ trợ kết nồi

ODBC.

- Cac chương trình viết bằng PHP cho phép nhúng ma HTML do đó quá trình

phát triển ứng dụng Web để đàng và nhanh chóng hơn

4 Giới thiệu phần mềm máy chủ web Apache2:

Apache được xem là nguyên mau điện hình cua tien trình phát triền mã nguồn

mơ và phản mềm may chu web Hiện dự án mà nguồn mơ này van dang trong tiên

trình thực hiện đồng thời dp ú cho những sane tạo mới,

Theo Netcraft, công ty dich vụ Internet ở Anh, gan 50 triệu trang web trên toàn

thé giới hiện nay dùng ứng dụng máy chủ web Apache chiếm 70% lĩnh vực web

server Đối thủ lớn nhất của Apache là Internet Information Services (IIS) của

Bên cạnh đỏ Apache ôn định va dang tin cậy "Khả năng hoạt động không may

khi gặp trục trặc khiến chúng tôi chon Apache”, Jim Willis, Giám đốc công nghệ

thông tin tại Văn phòng ngoại trường dao Rhode (Mỹ) cho biết “Ching tôi đã phải

Trang 9

Trường DH Su pham TP HCM Đỏ dn tốt nghigp

chật vật "đối phỏ` với phần mềm máy chủ IIS và không còn đủ kiên nhẫn đẻ tiếp tục'thuằn' nó nữa Sau khi chuyền sang Apache, số thời gian chúng tôi dành ra dé quản lýweb server đã giảm dang ké, nhờ đó có thẻ thanh thoi tập trung vào những công việc

chuyên môn khác.

5 Giới thiệu về giao thức SMTP:

Công việc phát triển các hệ thông thư điện tir (Mail System) đòi hỏi phải hình

thành các chuẩn chung về thư điện tử Điều này giúp cho việc gửi, nhận các thông điệp được đảm bao, làm cho những người ở các nơi khác nhau có thẻ trao đôi thông tin cho nhau.Có 2 chuẩn vẻ thư điện tử quan trọng nhất và được sử dụng nhiều nhất từ

trước đến nay là X.400 và SMTP (Simple Mail Transfer Protocol) SMTP thường đikèm với chuân POP3 Mục dich chính của X.400 là cho phép các E-mail có thẻ được

truyền nhận thông qua các loại mạng khác nhau bat chap cau hình phan cứng, hệ điều

hành mạng giao thức truyền dẫn được dùng Còn chuẩn SMTP miêu tả cách điều

khiển các thông điệp trên mạng Internet Điều quan trọng của chuân SMTP là giả định

máy nhận phải dùng giao thức SMTP gửi thư điện tử cho một máy chủ luôn luôn hoạt

động Sau đó, người nhận sẽ đến lấy thư từ may chủ khi nào họ muốn dùng giao thức

POP (Post Office Protocol), ngày nay POP được cải tiến thành POP3 (Post Officce

Protocol vertion 3).

Trang 10

Trường DH Sư phạm TP HOM Do án tắt nghiệp

ee k cứ Me Cee

Matt Met

Thu tục chuản trén Internet dé nhận và gui cua thư điện từ là SMTP (Simple

Mail Transport Protocol) SMTP là tha tục phát triển ở mức ứng dụng trong mô hình 7

lớp OSI cho phép gui các bức điện trên mạng TCP TP SMTP được phát triền vào nam

1982 hơi tò chức [ETE (Internet Engineering Task Force) và được chuẩn hoa theo ticu

chuẩn RECs 83L và 822 SMITTP sự dụng công 25 của PCP.

Mặcdu SMTTP là thu tục gun và nhận thư điện tu pho biển nhất như nó van còn

thiết một số đặc diém quan trọng có trong thú tục X400, Phan yeu nhất của SMTP là

thiết kha nang hỗ trợ cho các bức điện không phải dang Text Ngoài ra SMTP cũng cókết hop thêm hai thu tục khác hồ trợ cho việc lay thư là POP3 và IMAPA

MIME và SMTP

MIME (Multipurpose Internet Mail Extensions) cung cap thêm khả năng cho

SMIP và cho phép cae file có dạng mã hoa multimedia di hem với bức điện SMTP

chuẩn MIME sư dụng bang mã Base64 dé chuyên các file dạng phức tap sang ma

ASCH dé chuyên di MIMF là một tiêu chuẩn mới như nó hiện đã được hồ trợ bơi hauhết các ting dụng va bạn phải thay đổi nẻu chương trình thư điện tự của bạn không có

hd trợ MIME MIME được quy chuan trong các tiệu chuân RFC 2045-3049.

Trang 11

Treme DH Sư phưm TP HOM Đỏ án tút nghigp

S/MIME

1a một chuận mới của MIME cho phép hồ trợ cho các bức điện được mã hoa.

S MIMI- dựa trên Kỹ thuật mã hoa cong cộng RSA và giúp cho bức điện không bịxem trộm hoặc chan lay,

RSA Public Key/Private Key Authentication

Viet tắt cho Rivest Shamir và Adelman là những người khám phap ra cảnh

mã hod nay RSA cung cap cập khoá public key private key (khoá công công/khoá

riêng) dé mã hoa, Dit liệu sé được mã hoá boi khoả cong cộng và chỉ có thẻ được giải

ma boi Khoa riêng, Với S MIME người gui sé su dụng một chuối ma hoá ngẫu nhiền

sư dụng khoá công cong cua người nhận Người nhận sẻ giải ma điện bang cách su

dụng Khoa riêng Muôn nghiền cứu ky vẻ mã hoá RSA vào trang web

hp: www rsa.com

SMIMI: dược định nghĩa trong các tiểu chuẩn RECs 3311 và 3312.

Lệnh của SMTP

Một cách đơn giản SMTP su dụng các cau lệnh ngắn đẻ điều khiẻn bức diện.

Bang o duo là danh sách các lệnh cua SMTP

Trang 12

Trường DH Su phạm TP HOM Đỏ an tắt nghiệp

Các lệnh của SMTP được xác định trong tiêu chuẩn RFC 821

f

ELC Hello Sử dung de xác định người gửi điện Lệnh nảy nay đi

| kèm với tên của host gửi điện Trong ESTMP (extended!

protocol) thi lệnh nay sẽ là BELC.

|

poe en ee

Ma Khởi tao một giao địch gửi thu No ket hop "from" đẻ xác định

người gửi thu

|Azz= “Xác định người nhận thư.

(PATA Thông bảo bat dau nói dung thực sự của bức điện (phan than

| của thư) Di liệu được mã thành dang mã 128-bit ASCH vả nó

| được ket thúc voi mot dong đơn chứa dau cham (.).

Huy bo giao địch thư

| Sử dụng đề xác thực người nhận thư.

[Xzoz No là lệnh “no operation" xác định không thực biên hanh động|

| gì |

Scr Thoát khoi tiên trình dé kết thúc

SEX= Cho host nhận biết rang thư con phải gu den dau cuối khác.

Các lên cua SMTP rat đơn gian bạn có thé nhìn thay ở ví dụ sau:

Trang 13

Trường ĐH Su phạm TP HCM Đồ an tắt nghiệp

DATA

354 Enter mail end with a i.i on a line by itself

Here goes the message.

250 Message accepted for delivery

QUIT

221 Goodbye host.sendingdomain.com

Và bức thư sẻ rong như sau:

From username@)sendingdomain.com Fri Jul 30 09:23:39 1999

Date: Fri 30 Jul 1999 09:23:15 -0400 (EDT)

Khi mot MTA gui một lệnh SMTP tới MTA nhận thi MTA nhận sé tra lời với

một mã trạng thái dé cho người gửi biết dang có việc gì xây ra đầu nhận Và dưới day

là bang mã trạng thai của SMTP theo tiêu chuân RFC 821 Mức đỏ của trạng thaiđược xác định bởi số dau tiên của mã (5xx là lỗi nặng 4xx lả lỗi tạm thoi Ixx-3xx lảhoạt động bình thường).

SMTP mở rộng (Extended SMTP)

SMTP thì được cái thiệt dé ngay cảng dap ửng nhu cau cao của người ding và

là một thủ tục ngày cảng có ich, Như dù sao cũng can có sự mo rộng tiêu chuẩn

il

Trang 14

Trườmg DE Sư pham TP HCM Đỏ an tốt nghiờn

SMIP và chuẩn REC 1869 ra đời đẻ bộ xung cho SMEP No không chi mơ rộng ma

con cũng cấp thêm các tính năng can thiết cho các lệnh có sẵn.

Vi dụ: lệnh SIZE là lệnh mo rộng cho phép nhận giới hạn độ lớn cua bức điện

dén.Khong có ESMTP thì sẽ không giới hạn dược do lớn của bức thư Khi hệ thông kết nội với một MTA nó sẻ sur dụng khơi tạo thi 1/SMIEP thay HELO bảng LILO.Néu MEA có ho trợ SMIP mo rộng (ESMTP) thi nó sẽ tra lời với một danh sách cáclệnh mà nó sẽ hé trợ Néu không nó sẽ tra lời với mã lệnh sai (S00 Command not

recognized) va host gửi sẽ quay tro vẻ su dụng SMTP Sau đây là một tien trình

Trang 15

Trường ĐH Sư phạm TP HCM Đồ an tốt nghiệp

Các lệnh cơ bản của ESMTP

———-—-—— - ——— ——— -—— -——————— ——- -——— ~>—-—~ -° -+~======

| Lệnh Mieu ta

(5822 ‘Su dụng ESMTP thay cho KELO cua SMTz

plesk: đệ, > Sử dụng 8-bit MIME cho ma dik hiệu

[s1zE ‘St đụng giới hạn đỏ lớn của bức điện

SMTP Headers

Có thé lay được rất nhiều thông tin có ích bằng cách kiêm tra phan header cua thư Không chi xem dược bức diện từ dau đến chủ dé của thư ngày gửi và những

người nhận Ban còn có the xem được những điểm ma bức điện da đi qua trước khi

đến được hộp thư của bạn Tiêu chuẩn RFC 822 quy định header chứa những gì Tốithiểu có người gui (from), ngay gửi và người nhận (TO, CC hoặc BCC) Header cua

thư khi nhận được cho phép bạn xem bức điện đã di qua những dau trước Khi đến hộp thư cua bạn Nó là một dụng cụ rat tot dé Kiem tra va giai quyet lôi Sau day là ví dụ:

From someone@mydomain.COM Sat Jul 31 11:33:00 1999 Received: from hostl.mydomain.com by host2.mydomain.com

(8.8.8+Sun/8.8.8)

with ESMTP id LAA21968 for ;

Sat, 31 Jul 1999 11:33:00 -0400 (EDT)

Received: by host] mydomain.com with Internet Mail Service

(5.0.1460.8)

id : Sat, 31 Jul 1999 11:34:39 -0400

Message-ID:

j3

Ngày đăng: 20/01/2025, 00:37

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm