Tải bản đầy đủ (.pdf) (99 trang)

Định hình và quản trị nội dung cho mail server mã nguồn mở

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 (4.65 MB, 99 trang )

B GIÁO DC VÀ ÀO TO
TRNG I HC M THÀNH PH H CHÍ MINH
KHOA CÔNG NGH THÔNG TIN





LUN VN TT NGHIP



 TÀI:


NH HÌNH VÀ QUN TR NI DUNG
CHO MAIL SERVER MÃ NGUN M












Giáo viên hng dn : TS. Tô Tun
Sinh viên thc hin : Phm Vn Trung


Mã s sinh viên : 10380058
Lp : TH03C1




KHÓA 2003 - 2007

LI CM N



Lun vn tt nghip là mt tài liu chng minh mt quá trình n lc hòan
thành mt công trình nghiên cu ca sinh viên đ chng minh thành tích
khóa hc ti trng i Hc. i vi tôi, vic thc hin đc đ tài lun vn
này cng là mt quá trình n lc và phn đu đc bit cùng vi s giúp đ
ca các Thy cô, bn bè và ngi thân…, tôi xin gi li cm n chân thành
đn các Thy Cô, bn bè, nhng ngi đã to điu kin và giúp tôi hòan
thành khóa lun này, đc bit xin trân trng gi li tri ân đn:
- Thy Tô Tun: Ngi đã hng dn và giúp đ em trong sut quá trình
thc hin đ tài. Nh có s đng ý ca Thy mà em đã có c hi thc
hin lun vn tt nghip, va đ hòan thành chng trình đi hc va là
c hi đ em nghiên cu, hc hi thêm mt mng kin thc b ích và
thc t.

-
Các Thy-Cô ca khoa Công Ngh Thông Tin đã giúp đ và to điu
kin đ em có th nhn và thc hin lun vn tt nghip.

-

Tôi cng gi li cm n chân thành gia đình và bn bè tôi đã h tr tôi
trong sut quá trình thc hin lun vn tt nghip.

-
Cng xin gi lòng tri ân đn nhng bc tin nhân, nhng ngi đã vit ra
nhng chng trình mã ngun m vô cùng b ích, đc bit là nhng
ngi đã đa ra ý tng mã ngun m đ hôm nay th gii này có nhiu
phn mm hu dng.

-
Chân thành cm n nhà sáng lp trang web Google vì nu không có trang
web này tôi đã không tìm đc nhng tài liu b ích và hu dng cho đ
tài.

Và cui cùng xin cm n tt c nhng ngi mà tôi không quen bit, nhng
ngi đã cùng nhau xây dng nên mt cng đng internet cha đng mt
kho tàng tri thc vô cùng rng ln và b ích cho th gii này.

Chân thành cm n!

Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 1

MC LC

LI NÓI U 3
PHM VI  TÀI VÀ GII HN 4
THUT NG & NHNG T VIT TT LIÊN QUAN 5

PHN 1: C S LÝ THUYT 7
Chng 1: Dch v Email và các khái nim liên quan. 7
1.1.1 Tng quan v dch v mail 7
1.1.2 Tìm hiu hot đng các protocol mail. 7
1.1.3 Nguyên lý hot đng ca Mail Server. 13
1.1.4 Mt s mô hình mailserver tham gia vào vic cung cp dch v 16
1.1.5 Mt s mô hình h thng mail trong thc t 20
1.1.6 Các khái nim v liên quan : 25
Chng 2: Tìm hiu phn mm mail server mã ngun m. 31
1.2.1 Tng quan v phn mm mã ngun m 31
1.2.2 ng dng Linux & phn mm mã ngun m trong cuc sng. 38
1.2.3 Phn mm mail server mã ngun m 40
1.2.4 Nhn đnh và chn la. 43
Chng 3: C bn v CentOS Linux và các ng dng liên quan 45
1.3.1 C bn v CentOS 45
1.3.2 ng dng CentOS trong vic trin khai mail server 47
1.3.3 Phn mm c s d liu MySQL 47
1.3.4 Các ngôn ng lp trình đc h tr, ngôn ng lp trình PHP 49
PHN 2 - NG DNG THC TIN 51
Chng 1: Mô hình mail server trong đ tài 51
2.1.1 Cu trúc 51
2.1.2 Mô t các thành phn h thng. 51
2.1.3 Kh nng ng dng vào thc tin. 53
Chng 2: Hin thc h thng mail 54
2.2.1 Yêu cu v phn cng, phn mm. 54
2.2.2 Cài đt h thng phn mm 55
2.2.3 Tin trình cài đt: 57
2.2.4 Kim tra, chy th: 68
Lun vn tt nghip c nhân CNTT @10380058


nh hình & Qun tr ni dung mail server mã ngun m
Trang 2

2.2.5 Nhn xét tin trình cài đt: 72
2.2.6 Cu hình h thng 72
Chng 3: Qun tr ni dung 76
2.3.1 Gii thiu v qun tr ni dung. 76
2.3.2 Yêu cu và ng dng trong thc t. 76
2.3.3 Chc nng ca chng trình. 81
2.3.4 Hin thc chng trình qun tr 81
2.3.5 Kt qu đt đc 93
2.3.6 ng dng: 94
2.3.7 Hng phát trin ca chng trình 94
2.3.8 Kt lun, nhn xét 94
THAY LI KT 95
TÀI LIU THAM KHO 96



Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 3

LI NÓI U
i vi ngành công ngh thông tin (CNTT) Vit Nam, s kin kt ni vào h thng
mng internet tòan cu vào nm 1997 là mt bc ngot lch s cho s phát trin và
hòa nhp. Vic hòa nhp đó m ra nhiu c hi cho vic giao lu, kt ni, trao đi
thông tin gia ngi và ngi, gia nhng công ty vi nhau và k c gia nc này
vi nc khác.

Mng internet t khi ra đi và phát trin đn nay ngày càng chng t s ln nhanh và
mnh ca nó là mt yêu cu tt yu ca xã hi. Vi trách nhim mang trên mình rt
nhiu dch v, tin ích, mng internet giúp cho xã hi ngày càng đc kt ni li gn
nhau hn vì hu nh không có gii hn v không gian, khang cách khi gia nhp vào
cng đng internet.
Mt trong s nhng dch v hu dng đc s dng nhiu nht trong cng đng dân
c mng hin nay chính là dch v th đin t hay còn gi là email. Email t khi ra đi
cho đn nay, trãi qua bao giai đan phát trin và ci tin, nó ngày càng đóng vai trò là
mt công c liên lc không th thiu, và cho đn ngày nay vic s hu mt hay vài đa
ch email đi vi mt ngi bit s dng máy tính không có gì là xa l.
Song song đó, bên cnh vic các ISP có trách nhim cung cp dch v mail nh là mt
dch v c bn cho ngi s dng còn có s tham gia ca các đi gia trong lnh vc
internet nh Yahoo, Hotmail, Gmail… cng tham gia cung cp email min phí vi rt
nhiu tính nng đc đáo.
 đáp ng nhu cu ca ngi s dng dch v này rt nhiu hãng phn mm đã đu
t cho vic phát minh và ci tin các phn mm đ phc v vic gi nhn email. Mt
trong s đó có th k đn nhng phn mm ni ting nh:
- Exchange server ca Microsoft.
- Lotus domino ca IBM.
- Mdeamon ca Alt-n technologies
- Qmail, Postfix, Sendmail…
Trong s đó, bên cnh s đu t phát trin các phn mm có bn quyn nh Exchange,
Lotus domino, Mdeamon…cng đng mã ngun m cng liên tc trình làng và phát
trin nhng phn mm mail vô cùng n tng.
Bên cnh u đim ca phn mm có bn quyn là s h tr đc bit t nhà sn xut,
giao din đp, thân thin vi ngi s dng thì phn mm mã ngun m cng không
h thua kém bi đim ni bt nht ca nó là “min phí”, ngi s dng có th tham gia
chnh sa và đc bit làm cho nó có nhng nét đc trng ca riêng mình hay công ty,
t chc mà mình đang tham gia.
Phn mm mail mã ngun m ngày nay ch yu tp trung vào mng server, vì đây

chính là thành phn ct lõi ca h thng. Phn mm mail server mã ngun m hin
nay đang phát trin rt mnh và ngày càng khng đnh ch đng và hu nh thng tr
trong các h thng internet mail.
Tuy nhiên do bn cht mã ngun m là mt môi trng công cng dành cho tt c mi
ngi, không phân bit trình đ, quc gia, ngôn ng nên hu ht các phn mm lai
này đu có mt hn ch c bn là tính nng và giao din thng không đc trau chut
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 4

nh phn mm có bn quyn. Do vy, khi chp nhn s dng phn mm mã ngun m
và mun nó có nhng tính nng phc v cho nhu cu đc trng ca mình thì ngi s
dng (ngi cài đt và qun tr, s dng phn mm nh là mt chuyên gia không phi
là ngi s dng đu cui) phi có trách nhim cùng chung tay phát trin phn mm
hoc ít nht cng bin nhng điu cha hòan chnh tr nên phù hp vi nhu cu ca
mình.
i vi Vit Nam, đ gim chi phí bn quyn phn mm, ngày nay chính ph ta cng
đang rt hoan nghênh vic nghiên cu ci to và ti u hóa đng thi s dng phn
mm mã ngun m. Trong s đó, phn mm phc v cho h thng mail vn luôn là
mt u tiên hàng đu.
Chính vì vy, vic qun tr ni dung cho mt h thng server mã ngun m là mt đ
tài thit thc vì nó có rt nhiu c hi đ đc s dng thc t. Ngòai ra, vic nghiên
cu ni dung h thng mail đ qun tr ni dung to điu kin đ ta nghiên cu chuyên
sâu h thng mail giúp ta hiu rõ hn v cu trúc h thng, thun tin cho vic qun lý
và phát trin h thng email nói chung.
Tuy nhiên, Email và h thng cung cp dch v Email là mt lnh vc vô cùng rng
ln, vì vy đ vic nghiên cu và trình bày đc đúng trng tâm chúng ta ch tp trung
trong phn gii hn đ tài s đc trình bày ngay tip sau đây.
PHM VI  TÀI VÀ GII HN

Nói đn email hay h thng mail ngày nay là mt đ tài vô cùng rng ln và phong
phú, cho đn nay trên th gii đã có không bit bao nhiêu hãng phn mm và các lp
trình viên đã và đang tip tc làm vic đ phát minh hoc ci tin đ sao cho h thng
ngày càng đáp ng tt hn nhu cu ca ngi s dng. Trong s đó có th k đn các
phn mm mail server, mail client, phn mm qun tr h thng mail, phn mm h tr
gi mail hàng lat, phn mm ngn chn th rác…Tht là khó mà k ht nhng ng
dng, công c mà cng đng dân c mng đang cùng nhau xây đp.
Ngày nay, th gii s dng và phát trin phn mm đang tn ti song song hai mng
ch yu là phn mm có bn quyn và phn mm mã ngun m. (cng tn ti mt s
lai hình khác nh share-ware, free-ware nhng thng là nhng phn mm nh). Hai
nhánh phn mm này tn ti song song và phát trin không ph thuc ln nhau và
đng thi cng cha đng nhng đim mnh và đim yu riêng ca nó.
Nghiên cu mt lnh vc nào đó, chúng ta cn phi xem xét c nhng cái đc và cái
cha đc ca mt vn đ, nghiên cu phn mm cng vy, khi đánh giá chúng ta cn
đánh giá mt cách khách quan nhng đim mnh và đim yu ca tng lai hình đ
ng dng cho công vic hoc nhu cu s dng ca mình hay t chc mà mình đang
phc v.
Nghiên cu h thng email, tht s chúng ta đã đng đn mt mng rt ln mà rt khó
đ có th trình bày mt cách bao quát mi vn đ, do vy trong khuôn kh mt bài
lun tt nghip tôi xin ch đc đi qua nhng vn đ c bn và thit thc mà đ tài cho
phép.
H thng email phát trin trên nn tng mã ngun m ngày nay đang chim v trí rt
cao v ý ngha ng dng trong cng đng mng internet th gii nói chung và Vit
Nam nói riêng. im mnh ni bt nht ca các phn mm theo xu hng m là tn
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 5

dng kh nng sáng to ca mt cng đng dân c mng rt to ln đng thi cho phép

ngi s dng có th tùy bin phn mm sao cho phù hp vi nhu cu ca mình.
Tên đ tài “nh hình và qun tr ni dung cho mail server mã ngun m” bao gm
các ý chính đc th hin qua các cm t : “ đnh hình và qun tr ni dung”, “mail
server” và “mã ngun m” đã cho thy phn yêu cu gii hn trình bày ca bài lun
này, và vì th trong phn trình bày lun vn tôi xin đc phép s dng các h thng,
thut ng, ví d liên quan h thng mail server trên mã ngun m đ làm dn chng
cho đ tài này.
Ni dung ch yu ca đ tài s lc qua các phn chính sau đây:
- C s lý thuyt v h thng cung cp dch v email.
- Cn bn v h điu hành và các phn mm h tr trên mã ngun m.
- Trình bày phn hin thc h thng mail trên nn tng h điu hành mã ngun m
(mô hình có th ng dng đc trong thc t).
- Tìm hiu cu trúc thông tin mà mt h thng mail server có th ghi nhn.
- Tìm hiu phng thc lu tr và truy vn thông tin trên mt phn mm c s d
liu m.
- Trin khai phn mm qun tr ni dung thông tin gi thông qua mt h thng máy
ch mail.
Mong rng phn trình bày sau đây s c th hóa đc các đ mc đã đc cô đng t
yêu cu ca đ tài đc giao, nhm xây dng đc mt phn mm hu ích đng thi
là mt bc khi đu đ tip cn mô hình phn mm phát trin theo xu hng cng
đng.
THUT NG & NHNG T VIT TT LIÊN QUAN
Vì lý do trong môi trng công ngh thông tin hu ht các tài liu đu đc vit trên
ngôn ng ting Anh và có rt nhiu thut ng rt khó dch trn vn ra ting Vit nên
trong phn ni dung lun vn bt buc phi dùng nguyên vn thut ng. Phn sau đây
trình bày và gii thích vn tt mt s thut ng và t vit tt có s dng trong lun vn
này: (trình bày theo th t alphabet)
- A Record (Alias record) : Là mt lai mu tin đc s dng trong h thng DNS,
dùng đ phân gii gia mt đa ch IP sang mt tên min.
- Clear text (clean text): Dùng đ ch nhng đan vn bn nguyên thy không đc

mã hóa hay đnh dng bng mt phng thc mã hóa nào đó. Trong email thut
ng clear text thng đc s dng kèm vi thut ng password đ ch lai mt
mã không đc mã hóa khi lu tr hoc khi trao đi trên mng.
- CSDL : C s d liu.
- DNS: Domain Name System: Là h thng máy ch gi nhim v phân gii tên
min (domain name) trên mng internet. H thng này có nhim v phân gii qua
li gia mt cp d liu: đa ch IP và domain name.
- Domain name: là mt tên mang tính gi nh v mt min (domain) nào đó. Ví d:
yahoo.com, microsoft.com, google.com, ou.edu.vn,…
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 6

- a ch IP: Là mt đa ch lun lý (logic) dùng đ đnh danh mt host (máy tính,
thit b mng…) trên mt mng máy tính. Hin nay đa ch IP có 2 version là IP
version 4 và IP version 6.
- Email: Electronic mail: th tín đin t.
- Firewall: Phn mm hay thit b có tính nng kim sóat, ngn chn các lung d
liu thông qua nó theo mt quy tc nào đó.
- HH : H điu hành.
- Mail client: c s dng đ ch máy khách hay phn mm máy khách, ví d mail
client ám ch phn mm đ duyt mail s dng trên máy tính cá nhân nh Outlook
Express, Microsoft Outlook, Fedora, ThunderBird,…
- Mail server: Máy ch cung cp dch v mail, là thành phn đc nghiên cu trong
bn lun án này.
- Message: Thông đip, đi vi h thng mail, 1 message có th hiu là mt mail.
- MTA: Mail Transfer Agent. Là mt phn mm phc v công tác chuyn mail t
host này sang host khác, đây là phn mm ct lõi trong mt h thng mail server.
- MX Record (Mail Exchange record) : Là mt lai mu tin dùng đ phân gii cho

h thng mail server.
- Password: Mt khu.
- POP: Post Office Protocol. Là giao thc dùng đ lu tr và chuyn mail t máy
ch đn client.
- PTR Record (Pointer record) : Là lai mu tin dùng đ phân gii ngc t mt tên
min sang mt đa ch IP, trái ngc vi record A k trên.
- Relay : Trung chuyn, trong mail server thut ng này đc dùng đ mô t vic
gi mail nh qua mt h thng nào đó.
- RFC: vit tt ca Request For Comment, là tp hp nhng tài liu v kin ngh, đ
xut và nhng li bình lun liên quan trc tip hoc gián tip đn công ngh, nghi
thc mng INTERNET. Các tài liu RFC đc chnh sa, thay đi đn khi tt c
các k s thành viên ca IETF(Internet Engineering Task Force) đng ý và duyt,
sau đó nhng tài liu này đc xut bn và đc công nhn là 1 chun, nghi thc
cho Internet.
- Server: Máy ch, ni cài nhng phn mm máy ch đ phc v cho mt dch v
nào đó.
- SMTP: Simple Mail Transfer Protocol. Là giao thc dùng đ gi mail gia các
host đóng vai trò gi nhn mail.
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 7

PHN 1: C S LÝ THUYT
Chng 1: Dch v Email và các khái nim liên quan.
1.1.1 Tng quan v dch v mail.
Email hay còn gi là th tín đin t là mt hình thc truyn thông tin t mt ngi gi
đn mt hoc nhiu ngi nhn thông qua mng máy tính. (mng máy tính có th là
mng LAN, WAN hay internet).
Vic xut hin dch v email trên mng internet đc xem là mt bc ngot v đi

trong công tác gi nhn thông tin, nó giúp cho vic lu chuyn thông tin t ngi gi
đn ngi nhn vô cùng nhanh chóng và tin li. Cùng vi s phát trin mnh m ca
mng internet trên tòan cu dch v email ngày càng tr thành mt dch v ph bin
đng thi là mt công c đc lc và không th thiu cho bt k c dân mng nào.
So sánh vi dch v gi th tín truyn thng thông qua đng bu đin, email cng có
nhiu đim tng đng nhng vt tri hn rt nhiu  tc đ truyn tin và chi phí
vn chuyn. c bit vi tc đ truyn tin nhanh chóng, email đã góp phn thúc đy
tc đ phát trin ca nn kinh t th gii nh s có mt kp thi ca các thông tin mà
h thng này có th mang đn.
 thc hin đc công vic truyn thông tin vi khi lng thông tin khng l và tc
đ nhanh chóng, h thng email ngày càng đc phát trin rng rãi và ngày càng tr
nên phc tp. Mt s h thng mail ni ting hin nay nh Yahoo, Google
(gmail.com), Hotmail tht s là mt h thng vô cùng ln và phc tp, bên trong bao
hàm nhiu tính nng và tin ích cho ngi s dng.
Mt h thng mail c bn thng h tr các phng thc thông dng sau:
- SMTP: cho phép gi mail (chi tit s din gii  phn tip theo).
- POP : cho phép nhn mail t mail server v mail client.
- IMAP : cho phép đc đc ni dung mail qua giao din web.
Tuy nhiên, trong mt s trng hp do b gii hn v nng lc h thng hoc lý do bo
mt mà ngi ta ch cung cp 2 giao thc SMTP và IMAP. ( gi mail bng mail client
hoc web nhng ch đc mail bng web mail ch không ly v client đc).
Bên cnh các tính nng ni tri và hu dng, ngày nay ngi s dng dch v email
cng nhn không ít phin tóai bi mt s phn t li dng các tính nng d dàng,
nhanh chóng ca email đ thc hin qung cáo, truyn bá thông tin không lành mnh,
li dng làm phng tin lan truyn virus gây nh hng trc tip đn ngi dùng. Do
đó các h thng mail ngày nay phi đc tích hp các công c giúp phòng chng hc
gim thiu các s quy nhiu hoc xâm hi này. Chúng ta s tìm hiu k hn qua các
phn gii thiu chi tit  mc tip theo.
1.1.2 Tìm hiu hot đng các protocol mail.
Nh đã gii thiu  trên, mt h thng mail thông thng phc v 3 giao thc c bn

là SMTP, POP và IMAP, c th tng lai giao thc là gì ta s tìm hiu chi tit ngay
sau đây:

Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 8

1.1.2.1 SMTP:
SMTP vit tt t ch Simple Mail Transfer Protocol, là mt giao thc đn gin đc
đnh ngha trong RFC 821 sau đó hòan chnh  RFC 1123, ng dng cho vic gi mail
t host này đn host khác, trong đó host gi có th là mt mail client hoc mail server,
host nhn luôn là mail server.
Hin nay đã có phiên bn m rng đc đnh ngha trong RFC 2821 nhng cho đn
nm nay vn cha đc duyt bi IETF.
SMTP s dng port 25 ca TCP ca máy ch đ đón nhn các kt ni t host khác.
Nh mt phiên giao dch s dng TCP thun túy, khi có yêu cu gi mail, host gi s
khi to mt yêu cu (request) đn máy ch cn gi mail đ yêu cu thit lp kt ni.
Lúc này host gi s s dng port ngu nhiên ln hn 1024 còn host nhn ch lng nghe
 port 25.
Do SMTP là mt giao thc tng đi đn gin nên các lnh trao đi qua li đu s
dng dng vn bn thun túy (clear text). Có th thc hin mt s lnh ca SMTP t
dòng lnh nh sau:

telnet mail.ps4e.net 25
S: 220 smtp.example.com ESMTP Postfix
C: HELO test.ps4e.net
S: 250 Hello test.ps4e.net, I am glad to meet you
C: MAIL FROM:<>
S: 250 Ok

C: RCPT TO:<>
S: 250 Ok
C: RCPT TO:<>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Hello Student.
C: This is a test message from trung.pham to student.
C: Hope you receive this,
C: Trung.
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye
{The server closes the connection}
Ghi chú:
̇ C: Client.
̇ S: Server.
Qua ví d đn gin nh trên ta có th thc hin vic gi mail t mt ngi này đn
mt ngi kia thông qua mt s lnh ca SMTP. Các lnh này đc chp nhn trên
hu ht các SMTP server, có th din gii chi tit nh sau:
̇ Helo : Gi thông đip helo đn mail server.
̇ Mail from <ngi gi> : ch đnh đa ch mail ca ngi gi.
̇ RCPT to (recipient to) < ngi nhn> : Ch đnh ngi nhn.
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 9

̇ Data: Bt đu phn ni dung mail.

̇ Kt thúc bng Enter <.> Enter.
Lu ý  đây là ta s dng lnh telnet vào port 25 ca mail server, sau đó gi các lnh
SMTP đ gi mt mail c bn.
i vi các công vic gi mail thông thng ngi ta s dng mt phn mm gi li
mail client, lúc này mail client đm nhim vic thc hin các lnh SMTP đ kt ni
đn máy ch và gi thông đip. Có th din dãi rõ hn qua các s đ sau đây:

Hình 01: Gi mail trong cùng domain.
Trong ví d này mt user thuc v tên min ps4e.net gi mt thông đip đn cho mt
user khác trong cùng domain. Khi đó mail client kt ni đn máy ch ps4e.net bng
mt phiên kt ni TCP có port ngun ngu nhiên ln hn 1024 và port đích là 25. Nu
máy ch có thit lp c ch xác thc khi gi thì s yêu cu mail client gi thông tin
xác thc, nu không thì máy ch nhn mail do client gi đn mà không yêu cu gì
thêm. Sau đó nu hp mail abc tn ti trên máy ch ps4e.net thì máy ch thc hin
vic chuyn ni dung mail đn mail box cho abc, nu hp mail abc không tn ti máy
ch s gi mt thông đip báo li li cho ngi gi.

Hình 02: Gi mail không cùng domain.
Ví d th hai biu din vic gi mail t mt domain này đn mt domain khác, c th
là mt user ca domain ps4e.net gi mail cho mt user xyz thuc min yahoo.com.
Lúc này mail client không th gi trc tip thông đip t mail client đn server mail
yahoo vì nu nh th s xy ra hin tng relay mail s đc mô t  phn sau. Do đó
bt buc tin trình gi mail phi thông qua 2 giai đan:
Giai đan 1: Mail client kt ni đn máy ch ca domain mình và thc hin tin trình
gi mail nh đã mô t  ví d 1.
Giai đan 2: Mail server kim tra mail nhn thy không thuc tên min ca mình qun
lý thì tip tc tìm máy ch đích và thit lp kt ni đ gi mail đi. Lúc này mail server
ps4e.net đóng vai trò nh mt mail client, to mt kt ni đn port 25 ca server mail
yahoo. Mail server yahoo s kim chng mt s thông tin cn thit, sau đó s chp
nhn kt ni và nhn mail.

Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 10

Trong 2 ví d trên ch mô phng trng hp ngi gi ch gi duy nht cho mt ngi
nhn, trong trng hp gi cho nhiu ngi nhn cùng lúc thì tin trình vn din ra
tng t nhng lúc này nu nhiu đích gi trong cùng domain thì mail server ch cn
copy nhiu bn đn các mail box cn thit, nu là gi đn nhiu domain khác nhau thì
mail server gi phi to nhiu kt ni đn các server khác và thc hin thao tác gi
mail tng t nh trng hp mt server.
Ghi chú: Khi to mt kt ni TCP t host này đn host khác, 2 host nhn din nhau
qua đa ch IP, quá trình chuyn đi t tên min qua đa ch IP cn thit s nh s h
tr ca h thng DNS (Domain Name System).
Tóm li: Trong mt h thng mail, giao thc SMTP đc s dng đ gi thông tin t
mt host ngun đn mt hay nhiu host đích. Mt mail server có th đóng vai trò là
mt host ngun hay mt host đích.
1.1.2.2 POP
POP vit tt t ch Post Office Protocol- là giao thc dùng đ ly th đin t t mail
server thông qua kt ni TCP/IP. Giao thc POP đc hình thành và phát trin qua 3
phiên bn, phiên bn 1 đc đnh ngha ti RFC 918, sau đó phát trin lên version 2
mô t trong RFC 937 và sau đó là phiên bn 3 đc đnh ngha trong RFC 1939. Sau
khi ra đi, POP3 thay th hòan tòan 2 version c. Mc dù sau đó cng có mt s công
trình nghiên cu phát trin POP lên version 4, tuy nhiên t nm 2003 đn nay không
có kt qu nào đáng k cho vic phát trin version 4, do vy ngày nay nói đn giao
thc POP ngi ta mun ám ch đn POP version 3 hay còn gi là POP3.
Khi cn nhn mail, mail client s dng giao thc POP đ kt ni đn server thông qua
port TCP 110 ca server ( đi vi client s dng port ngu nhiên >1024 ging nh
SMTP). Sau khi gi yêu cu xác thc hp l, mail server s cho phép ly mail v máy
cá nhân thông qua giao thc POP, ngòai ra cng có tùy chn đ mail li ti server đ

có th xem online khi cn thit. Tuy nhiên thông thng ngi ta dùng POP đ ly tt
c mail v máy trm sau đó xóa ht mail trên máy ch và ngt kt ni.
Cng nh các giao thc internet c khác, ban đu POP cng ch h tr c ch xác thc
kiu vn bn thô (plain text hay clear text), tuy nhiên phng pháp xác thc c bn
này ngày càng đi mt vi các nguy c gây ra li bo mt do vic truyn thông tin mt
khu trên mng dng clear text không an tòan. Hacker d dàng ly đc các mt khu
dng clear text này và tin hành truy cp bt hp pháp vào các đa ch mail ca ngi
dùng. Ngày nay, POP h tr nhiu phng pháp xác thc khác nhau đ chng li vic
xâm phm thông tin. Mt trong nhng phng pháp đó đc h tr bi APOP, là mt
phng pháp s dng mã hóa mt khu theo kiu MD5 đ chng li vic đánh cp mt
mã. Ngòai ra POP cng h tr phng pháp xác thc SASL (Simple Authentication
and Security Layer).
Mt phiên làm vic gia mail client đ ly mail t server có th biu din mt cách
đn gin nh sau:
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 11


Hình 03: Các bc c bn trong mt phiên làm vic ly mail t server bng POP
Tin trình ly mail t server v trong hình 03 gm các bc c bn sau:
Bc 1: mail client gi yêu cu truy xut hp mail đn máy ch cha mail.
Bc 2: máy ch yêu cu mail client gi thông tin mt mã đ xác thc. (có th bao
gm trong bc 1)
Bc 3: mail client gi mt mã theo yêu cu.
Bc 4: mail server xác thc thông tin, nu hp l s cho nhn mail, nu sai thì t chi
truy cp.
Sau khi nhn xong mail, tùy chn đ mail li hoc xóa ht và chm dt quá trình nhn
mail, ct kt ni vi server.  hiu rõ hn ta có th xem phn cu trúc lnh đ ly

mail nh sau:
S: <wait for connection on TCP port 110>
C: <open connection>
S: +OK POP3 server ready
C: USER abc
S: +OK User accepted
C: PASS abc.password
S: +OK Pass accepted
C: STAT
S: +OK 2 320
C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .
C: RETR 1
S: +OK 120 octets
S: <the POP3 server sends message 1>
S: .
C: DELE 1
S: +OK message 1 deleted
C: RETR 2
S: +OK 200 octets
S: <the POP3 server sends message 2>
S: .
C: DELE 2
S: +OK message 2 deleted
C: QUIT
S: +OK dewey POP3 server signing off (maildrop empty)
Lun vn tt nghip c nhân CNTT @10380058


nh hình & Qun tr ni dung mail server mã ngun m
Trang 12

Trên đây mô phng vic xác thc và nhn mail hòan tòan bng clear text. Ngày nay
không nhng mt khu đc mã hóa khi truyn trên mng mà ngay c d liu mail khi
ly v cng đc s dng mt s phng pháp mã hóa d liu.
Tóm li: Giao thc POP đc s dng trong h thng mail server đ ly mail t server
v mail client. Lu ý, trong trng hp này mail server không th đóng vai trò là mail
client nh mô t trong SMTP  phn trc. Giao thc POP đc s dng ngày nay là
giao thc POP3, mail client có th h tr vic mã hóa mt mã và c d liu khi truyn
trên mng.
1.1.2.3 IMAP
IMAP vit tt t Internet Message Access Protocol cùng vi POP k trên là 2 phng
thc nhn mail ph bin nht hin nay. Tuy nhiên có mt đim trái ngc nhau c bn
là POP thông thng nhn tòan b ni dung mail t server v máy trm sau đó xóa
mail trên server còn IMAP thì thông thng li đ tòan b ni dung mail trên server.
IMAP đã đc phát trin qua các version khác nhau và hin ti IMAP4 và
IMAP4Rev1 đang là 2 version đc s dng. IMAP4 s dng port 143 ca server đ
giao tip vi client, thông thng các chng trình web mail s dng IMAP làm giao
thc đ nhn mail v và hin th cho ngi s dng.
Vic đ li mail trên server to điu kin cho nhiu ngi s dng có th truy cp và
s dng chung cùng mt hp mail, đng thi do vic thông thng các mail client s
dng IMAP ch ly mt phn thông tin ca ni dung mail thay vì ly tòan b v nh
POP đã giúp cho IMAP truy cp và hin th thông tin nhanh hn so vi POP, đc bit
là trong môi trng đng truyn bng hp thì IMAP là mt la chn thích hp. Mc
dù th vic ly tòan b ni dung mail v máy trm ri mi hin th cng có u đim là
giúp ngi nhn lu tr thông tin trên máy tính cá nhân, hn ch vic chim gi dung
lng trên mail server nên hin nay 2 giao thc POP và IMAP vn luôn đc s dng
song song nhau.

Không ging nh các giao thc internet khác, IMAP4 h tr c ch mã hóa d liu
cho xác thc (mã hóa password) nhng đng thi cng h tr c ch truyn mt mã
dng clear text bi vì vic mã hóa d liu khi xác thc buc phi có s thng nht gia
server và client. Do vy c 2 c ch này thng đc h tr song song trong các h
thng email hin nay.
Trong thc t ngi dùng khi s dng mail client đ duyt mail thng cu hình s
dng giao thc POP đ ly mail v máy tính cá nhân, thnh thang cu hình thêm c
ch đ li mail trên mail server trong mt khan thi gian nht đnh nào đó. Ngc li
nhng ngi có thói quen đ mail li trên server thì thng dùng web mail bi vì web
mail luôn đc tích hp sn IMAP. Hn th na hu nh ch có nhng ngi là khách
hàng trc tip ca các ISP thì mi đc s dng mail server có h tr giao thc POP
còn phn ln các mail server đc bit là mail min phí thì đa s ch h tr giao thc
IMAP thông qua giao din web mail.
Tóm li: Vì mi giao thc có đim mnh và đim yu riêng nên IMAP và POP vn
tn ti song song trên các h thng mail server nói chung. c đim ni bt ca IMAP
là thông thng gi ni dung li trên mail server, các d liu đc ly v cho ngi s
dng xem trên mail client (thông thng là các web mail) ch là d liu tm thi.
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 13

1.1.3 Nguyên lý hot đng ca Mail Server.
Hin nay có rt nhiu phn mm mail server đang đc s dng trên th gii do nhiu
hãng phn mm khác nhau thit k cho nên v chi tit thì cu trúc mt h thng mail
không ging nhau. Tuy nhiên, v c bn trong mt mail server phi có các thành phn
ch yu sau: (tham kho t mô hình Sendmail)
- Supervisor: Là trung tâm điu khin các tin trình, các thành phn (component) liên
quan ca h thng. Nó nm gi vai trò khi đng và kim sóat s hat đng ca các
component này đ bo đm cho h thng hat đng suông s.

- SMTP server: Thông thng trong mt mail server s gm 2 b phn STMP server
là:
• Incoming SMTP server: Chp nhn các mail đn.
• Outgoing SMTP server: đóng vai trò nh mt mail client gi chuyn tip
thông đip đn mt mail server khác.
- Queue manager: Là mt thành phn quan trng đóng vai trò trung tâm điu khin
các dòng d liu mail sau khi đã đn đc mail server. Nó điu khin đnh tuyn
các message, chuyn mail và thc hin mt s chính sách kim sóat đc thù khác.
- Address resolver (AR): Thc hin vai trò phân gii đa ch bao gm các gii thut
tìm đng khác.
- Message submission program: Thc cht là b lnh SMTP đc s dng đ chuyn
các message đn SMTP server.
- Delivery Agent (DA) : Là thành phn có vai trò phân phát hay trung chuyn các
mail message. Có 2 DA c bn, 1 phc v phân phát mail ni b (LDA: Local
delivery agent) và 1 đc tích hp nh là mt thành phn ca outgoing SMTP
server phc v vic gi mail đn các server khác.

Mô hình tng quát nh sau:

Suppervisor
Incoming
SMTP
server
Queue Manager
Content Database
LDA
AR
Outgoing
SMTP
server


Hình 04: Cu trúc c bn mt mail server (Sendmail)

Mô hình mail server thc t:

Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 14



Hình 05: Mô hình thc t h thng mail server Axigen

Qua s đ c bn và mt mô hình thc t ta có th nhn thy nhìn chung mt h thng
mail server cn nhng thành phn c bn đ có th thc hin mt s công vic c bn:
- Tip nhn.
- Phân tích, x lý.
- Phân phát hoc chuyn tip.
Các công vic khác nhm đ b sung các tính nng b tr cho h thng ví d nh thit
lp chính sách mail vào mail ra, ghi log , report và monitoring…Ngòai ra trên h thng
mail thông thng còn tích hp thêm các phn mm h tr nh web mail, IMAP,
POP…
 hiu rõ hn vai trò ca các thành phn trong h thng ta s tìm hiu thêm v dòng
luân chuyn d liu cho hai trng hp sau đây:
1.1.3.1 Gi nhn gia ni b ca 1 MailServer:
Gi nhn ni b trong mt mail server là tình trng mt user A gi mail cho user B
trong cùng mt domain. Ví d
gi mail cho ,
khi đó mail server ch làm nhim v copy d liu ni b.

Mô t tin trình gi ni b nh s đ sau:

Hình 06: S đ x lý mail khi gi trong cùng domain
Tin trình làm vic nh sau:
- Khi SMTP nhn đc mt yêu cu kt ni gi mail ( tm b qua các giai đan xác
thc, kim tra tính hp l…) SMTP s làm vic vi queue manager đ quyt đnh
nhn hay t chi message.
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 15

- Queue manager vi s giúp đ ca address resolver quyt đnh nhn message hay
không, nu có thì quyt đnh đng đi ca message.
- Nu message cho thy là ngi gi và ngi nhn trong cùng domain thì message
s đc chuyn đn mt hàng đi gi là local queue. Nguyên nhân các message
phi đc xp vào hàng đi và x lý theo mt trình t nào đó là nhm mc đích
tránh tình trng mail server b s dng ht resource khi nhn đc quá nhiu mail.
Hàng đi có kh nng điu tit vic s dng tài nguyên ca h thng.
- Local queue s phân phát các message đn mailbox hay maildir tùy thuc vào
phng thc lu tr ca mail server.
- Message sau khi đc đa đn mailbox hay maildir s  đó cho đn khi đc POP
v hoc b xóa bi ngi s dng hoc b xóa bi mt chính sách nào đó ví d thi
gian sng ca message b quá hn.
1.1.3.2 Gi nhn gia các MailServer.
Trên thc t s dng email ch có mt lng nh email đc gi ni b nh đã đc
miêu t  phn trên, hu ht các email đu gi t min này đn mt đn rt nhiu min
khác:

Hình 07: S đ x lý mail không cùng domain

Khi đó dòng d liu mail s đc miêu t nh sau:
- Khi d liu đn đc mail server, queue manager nh có s h tr ca AR xác đnh
đc mail đn không dành cho domain ni b, khi đó queue manager s chuyn
message đn hàng đi remote.
- Hàng đi remote có trách nhim điu hòa lng mail gi đn MTA dùng gi mail
đi.
- MTA có trách nhim liên lc vi các server đích, xác đnh có gi đc hay không
và thông báo trng thái li cho remote queue bit đ x lý.
- Nu ni nhn ch là mt mail server khác thì có mt tin trình gi mail xy ra, nu
cùng gi cho nhiu domain khác nhau thì có nhiu tin trình xy ra song song đ x
lý cùng mt message.


Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 16

1.1.4 Mt s mô hình mailserver tham gia vào vic cung cp dch v.
1.1.4.1 Kin trúc h thng mail c bn.

Hình 08 : Kin trúc h thng mail c bn 1.
Trên đây là kin trúc mt h thng mail đn gin nht có th ng dng cho cung cp
dch v. Mô hình này đáp ng các nhu cu c bn ca vic s dng email bao gm:
- Gi mail trong cùng domain.
- Gi mail đn mt server khác.
- Cho phép nhn mail bng mail client và web browser, h tr c IMAP và POP3.
Trong kin trúc này account mail và mail box đc lu tr và qun lý bi h điu hành
( s dng user h thng đ đng nhp vào mail box). Trên thc t, mô hình này đc
ng dng cho cá nhân hoc các công ty, đn v c nh, có s lng ngi s dng nh

hn 20. u đim ca nó là rt đn gin, d dàng cài đt và hu nh đc cu hình mc
đnh trong mt s h điu hành Linux.
Mt ví d c th cho vic cài đt h thng này trên h điu hành Linux /Redhat ta ch
cn gõ dòng lnh:
yum install postfix dovecot system-switch-mail system-switch-mail-gnome
Sau đó cu hình thêm mt s tham s theo hng dn là có th có ngay mt h thng
mail đáp ng các yêu cu k trên.
Trong ví d này ngi ta ng dng phn mm Postfix làm SMTP/MTA, Dovecot làm
IMAP/POP3 cng vi mt s phn mm qun tr c bn tích hp trên giao dên đ ha
ca h điu hành.
Khuyt đim ln nht ca mô hình này là do s dng tài khan h thng cho vic gi
nhn mail gây ra s thiu bo mt cho h thng và ngi dùng vì không thun tin
trong vic thay đi mt khu, khó khn trong qun tr ngi dùng. Do vy đ ci tin
hn ngi ta s chuyn sang lu tr thông tin ngi s dng trên mt h qun tr c s
d liu nào đó nh mô hình sau:
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 17


Hình 09 : Kin trúc h thng mail c bn 2.
Mô hình này v c bn không có gì thay đi so vi mô hình trc, tuy nhiên thay vì d
liu ngi dùng đc qun lý bi h điu hành thì đc y quyn li cho mt h qun
tr c s d liu (DBMS: Database Management System). Lúc này vic lu thông tin
đ xác thc ngi dùng s đc lu tr trong c s d liu, có th tích hp thêm phn
mm qun tr c s d liu hoc qun tr tài khan ngi dùng qua web là có th thun
tin trong vic qun lý h thng.
Mô hình này đc áp dng rt nhiu cho các công ty, doanh nghip va và nh có nhu
cu gi nhn mail vi dung lng ln và s lng ngi s dng cng tng đi ln,

mt s h qun tr c s d liu thng dùng trong trng hp này là MySQL,
PostgreSQL, LDAP.
Vi hai kin trúc c bn k trên thông thng h thng mail đc trin khai vi mt
mô hình đn gin bao gm mt mail server phc v tt c các dch v k trên.
Tuy nhiên h thng mail ngày nay không ch đc xây dng đ đáp ng các yêu cu
c bn nh gi nhn mail mà còn phi đáp ng các yêu cu bo v d liu, ngn chn
virus, ngn chn vic gi và nhn mail rác…nên mt h thng mail hòan chnh thng
phi tích hp thêm mt s thành phn khác hoc ci tin li cu trúc. Mt s mô hình
đó s đc trình bày trong phn tip theo ngay sau đây.
1.1.4.2 Kin trúc h thng mail hòan chnh.
Trên thc t các h thng email không nhng ch đáp vic gi nhn các email hp l
mà còn phi đi mt vi nhiu lai email không mong đi. Trong s đó có th k đn
các lai mail rác mà thông thng là mail qung cáo,mail có ni dung la đo, mail có
cha mã đc nh virus, trojan nhm mc đích xâm hi đn máy tính ngi s dng
hoc đánh cp thông tin.
Mt thc t khác cng tn ti song song là đa s ngi s dng đu không có đ kin
thc v vic ngn chn hay phòng tránh các phin nhiu k trên, cho nên yêu cu đòi
hi mt h thng email không nhng có kh nng bo v chính nó mà còn phi bo v
cho ngi s dng hn ch đc các ri ro khi s dng dch v email.
Vì nhng lý do đó mà thông thng ngày nay mt h thng mail khi trin khai thc t
ti thiu phi có các thành phn đc mô t trong mô hình sau đây:
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 18


Hình 10: Kin trúc mt h thng mail hòan chnh.
Hình 10 mô t các thành phn và mi quan h trong mt h thng mail hòan chnh,
trong đó có các thành phn ch yu sau đây:

- SMTP server thc hin 2 nhim v: tip nhn mail vào và chuyn mail ra nu email
đc gi đn không phi thuc domain do nó qun lý hoc không thuc bt k
domain nào trên cùng server này. Bên trong SMTP/MTA này còn có mt s thành
phn con bao gm các mail queque chu trách nhim x lý các message đn hoc đi
thông qua nó.
- POP3 server: Phc v ngi s dng ly mail v mail client thông qua giao thc
POP.
- IMAP server: Phc v ngi s dng ly mail v mail client bng giao thc IMAP
hoc s dng web mail.
- Mail store: Thng là mt h qun tr c s d liu lu tr tòan b thông tin ngi
s dng nh user name, password, quota, tên maildir (mail box)…
- Web mail : Là mt ng dng giúp cho ngi s dng có th đc mail t mail server
qua web đng thi có th đóng vai trò là mt mail client phc v vic gi mail.
- Mail admin: Là phn mm h tr vic qun tr h thng nh đóng, m tài khan
ngi dùng, cu hình mt s tham s đc bit khác.
Hai thành phn h tr mc đnh ca SMTP server là Address resolver và Domain
resolver. Address resolver dùng đ phân gii phn đa ch mail đn đ bit email đang
x lý cn đi đn đích nào, Domain resolver dùng đ phân gii, tìm kim tên min, truy
vn DNS đ xác đnh SMTP server nào là SMTP đích cho mt message cn chuyn đi.
Module user authentication có trách nhim xác thc ngi s dng đ bo đm rng
ngi gi là mt thành viên hp l ca mail server. Module này giúp cho mail server
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 19

hn ch đc gi mail relay (anti relay s đc gii thích chi tit trong phn tip theo).
Module này đc thit lp mc đnh trong mt s h thng mail nhng cng có th là
thành phn tùy chn trong mt s h thng khác.
Module anti spam và anti virus là hai phn mm hu dng thông thng đc b sung

thêm cho h thng mail nhm mc đích ngn chn virus, mail rác ngay t khi mail đn
server đ hn ch ri ro và bo v cho ngi s dng đng thi đ tránh vic tao tn
tài nguyên h thng mt cách vô ích đi vi các đi tng mail rác. (ni dung chi tit
s gii thích trong phn spam và anti spam).
Mô hình kin trúc mail server k trên có th đc c th hóa thành h thng mail hòan
chnh vi các phn mm mã ngun m nh sau:

Hình 11: Kin trúc mt h thng mail thc t.
Hình 11 là s đ h thng email thc t đc tích hp bi Peter Lacey đng ti trang
web . ây là mt công trình ci tin t bài vit ca hai
tác gi Dave Dribin và Keith Garner là hai trong s nhng ngi vit ra phn mm
Jamm phc v cho vic qun tr h thng mail.
Trong mô hình này tác gi s dng các phn mm sau :
- Postfix: là mt MTA đang đc s dng rt nhiu trong cng đng mail server mã
ngun m hin nay.
- Cyrus-SASL : là phn mm xác thc và mã hóa d liu.
- Dovecot : óng vai trò làm POP và IMAP server.
- LDAP : H qun lý d liu s dng giao thc LDAP, là mt giao thc truy xut d
liu nhanh nht hin nay. LDAP  đây không phi là giao thc mà nói đn mt phn
mm bao gm c s d liu  lp di có th là MySQL hoc Berkeley…
- SquirrelMail : Mt phn mm web mail đn gin đc vit bng ngôn ng PHP d
dàng cho các ngi qun tr chnh sa theo ý mun.
- Jamm : Phn mm qun tr h thng mail qua giao din web.
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 20

Mô hình trên đc ng dng trong rt nhiu h thng mail ln ca các ISP vì vi vic
s dng LDAP đ lu tr thông tin v mail h thng này đáp ng rt tt cho nhu cu

s dng liên tc đc bit là các h thng mail hosting cung cp cho nhiu khách hàng
vi nhiu domain khác nhau. Tuy nhiên so vi mô hình cu trúc hòan chnh thì h
thng này vn còn thiu hai module quan trng là anti-virus và anti-spam, đng thi đ
đáp ng nhu cu v nng lc x lý ngi ta còn trin khai mt s mô hình nâng cao
đc thù khác, mt trong s đó s đc trình bày tip sau đây.
1.1.5 Mt s mô hình h thng mail trong thc t
1.1.5.1 Mô hình 1 server – 1 domain.
Mô hình này ph bin nht, ng dng trên nhiu lnh vc, quy mô khác nhau đc bit
là các doanh nghip va, nh, các nhà cung cp dch v c nh. Trong mô hình này
ngi ta ch cn s dng 1 server phn cng đ cài đt tòan b các phn mm cn thit
cho 1 server mail và ch phc v 1 domain duy nht.
ây là mô hình đn gin nht, có th biu din nh sau:

Hình 12: Mô hình mail server c bn

1.1.5.2 Mô hình 1 server – nhiu domain.
Mô hình này thng ng dng trong các nhà cung cp dch v, đc bit là dch v mail
hosting và mail off-line.
Mail off-line là mt dch v khá phát trin vào thp niên 90 ti Vit Nam vì lúc by
gi kt ni t ngi s dng đn nhà cung cp dch v internet đa s là kt ni gián
tip bng dch v dial-up.  tit kim chi phí kt ni, các doanh nghip thng s
dng dch v mail off-line đc cung cp bi các nhà cung cp dch v internet. Khi
s dng dch v này phía nhà cung cp s thit lp mt mail server cha các hp mail
đi din cho các tên min ca khách hàng. Phía khách hàng s thit lp mt h thng
mail server ni b, ti đây s qun lý các tài khan ngi dùng. Tùy theo nhu cu s
dng, ngi qun tr s thit lp mt khang thi gian nào đó h thng mail server ti
khách hàng s t đng quay s kt ni đn nhà cung cp dch v, gi nhn mail và
chm dt kt ni. Sau khi mail đc ly t máy ch ca nhà cung cp dch v v mail
server phía khách hàng, ti đây nó s tin hành phân phát các mail cn thit đn cho
các ngi s dng tht s. Khi ngi s dng gi mail đi, nu trong thi đim không

có kt ni đn nhà cung cp dch v thì mail s đc lu ni b trong mail server phía
khách hàng ch cho đn khi có hat đng kt ni thì mail mi tht s đc gi đi.
Chính vì đc đim gi nhn mail không tc thì này mà hình thc dch v này gi là
mail off-line.
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 21

Mô hình hat đng ca mt h thng mail off-line có th đc biu din nh sau:

Hình 13: Mô hình mail off-line
Hình 13 biu din các nét chính trong mô hình mail off-line bao gm:
- Mail server phía nhà cung cp dch v ch cha hp mail đi din cho các domain
ca khách hàng.
- Mail server ca khách hàng cha các hp mail tht s ca ngi s dng.
- Mail server ca nhà cung cp dch v ch h tr gi-nhn mail (SMTP + POP) ,
phía mail server khách hàng s phc v đy đ các hình thc khác nh mt server
bình thng.
- Kt ni gia hai h thng là mt kt ni không thng xuyên và tc thì (ngt
quãng).
u đim ca dch v mail off-line là phía khách hàng không b hn ch s mail box,
h có th m bao nhiêu hp mail phía server ca mình tùy thuc vào s ngi s dng.
Nhc đim là phi duy trì và qun lý h thng mail server.
Ngày nay vi s phát trin ca mng li vin thông hu ht các doanh nghip đu có
đng truyn bng rng kt ni hu nh liên tc vào mng internet cho nên dch v
mail off-line không còn phát trin na. Thay vào đó khách hàng s dng dch v mail
on-line bng hình thc t thit lp mail server nh mô hình 1 hoc s dng dch v
mail hosting đc cung cp bi nhà cung cp dch v.
 cung cp dch v mail hosting nhà cung cp dch v phi t chc mt h thng

mail server phc v cho rt nhiu domain khác nhau mà ngi ta quen gi là domain
o (virtual domain). Mt server đáp ng nhu cu này có th s dng kin trúc h thng
nh đã trình bày  hình 10.
u đim ca lai hình mail hosting là phía khách hàng không cn phi t chc và qun
lý mail server mà vn có th cung cp tng hp mail riêng bit cho nhân viên, vic gi
nhn mail ca nhân viên có tác dng tc thì sau khi phát lnh đng ngha vi vic
thông tin đc chuyn đi gn nh cp thi.
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 22

Nhc đim ca dch v này là nu s lng hp mail càng nhiu thì càng tn nhiu
chi phí phi tr cho nhà cung cp dch v (chi phí tính trên tng mail box).
Khi đó mt server phn cng s đm nhn vai trò nh nhiu server mail (o), đáp ng
đy đ các chc nng ca mt server cho các virtual domain, có th biu din nh mô
hình sau đây:
SMTP:25
POP:110
WEB: 80






domain1.com
domain2.com
domain3.com


Hình 14: Mô hình dch v mail hosting
Hình 14 th hin hình thc mt mail server trên đó đi din cho nhiu mail server khác
nhau, đc phân bit trên h thng bi hình thc virtual domain. Server này phc v
đy đ các dch v cho ngi s dng ca mt domain nào đó tng t nh đó chính
là mail server riêng ca h vy. Ngi s dng có th s dng hp mail ca chính tên
min ca mình, có th gi nhn mail bng phn mm mail client hoc bng web mail
tùy thích.
Khi đó ngi s dng s xác thc, gi, nhn mail trc tip t nhà cung cp dch v,
thông thng h thng mail cha nhiu tên min thì khi xác thc ngi s dng phi
cung cp đy đ tên hp mail bao gm tên min đ phân bit.
Ví d trên 1 server có cung cp cho hai domain domain1.com và domain2.com, trên 2
domain trên hòan tòan có quyn cung cp 2 user trùng tên, c th nh trng hp này
ta có 2 user và Do vy đ phân bit 2 tài
khan trên, khi xác thc h thng s yêu cu xác nhn đy đ cp thông tin “user@tên
min” và “password”. (trong trng hp mail server ch phc v 1 tên min thì khi xác
thc ngi s dng ch cn gi phn tên tài khan trc @domain cng vi mt mã):
Lun vn tt nghip c nhân CNTT @10380058

nh hình & Qun tr ni dung mail server mã ngun m
Trang 23


Hình 15: Mu màn hình login cho mail server
Trong hình 15, bên trái biu din trng hp mail server phc v cho mt domain duy
nht, khi đó có th b qua phn tên min trong username, bên phi là trng hp phc
v nhiu domain nên bt buc nhp đy đ.
Do yêu cu phát trin dch v ngày càng nhiu, đc bit là các h thng mail cung cp
dch v email chuyên nghip, dn dn các cu hình server riêng l kiu này không còn
đáp ng đc, t đó ngi ta đã nghiên cu trin khai các mô hình phc tp hn đ
phc v, c th các h thng mail ni ting nh Yahoo, Gmail ca Google, Hotmail

ca Microsoft… đu s dng nhng h thng rt mnh và phc tp, c th nh th nào
chúng ta s tip tc tìm hiu  phn k tip.
1.1.5.3 Mô hình nhiu server – 1 domain/nhiu domain.
Nh đã trình bày trong các s đ cu trúc hê thng mail, dù đn gin hay phc tp mt
h thng mail cng thng bao gm ti thiu các thành phn đ thc hin các thao
tác : nhn mail, x lý, cho ngui s dng truy xut và gi mail đn mt hay nhiu h
thng khác.
Trong các tác v k trên có nhng cái phi thc hin nhiu có cái ít, do vy đ ti u
hóa vic s dng đng thi đ đáp ng các s lng ngi s dng ln hoc s ngi
s dng đng thi ln, chng li các cuc tn công t chi dch v ngi ta đã thit k
nhng h thng có cu trúc phc tp hn bng cách s dng nhiu server đ phc v
cho trng hp này. Vic s dng nhiu server đ phc v cho mt mc đích nào đó
cng có rt nhiu cách đ thc hin nh dùng k thut clustering, load-balancing,
load-sharing,…Mt s mô hình đã đc áp dng thc t nh sau :

Hình 16 : Mô hình nâng cao s dng k thut clustering

×