資源描述:
《smtp、pop3協(xié)議及實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、SMTP項(xiàng)目概要設(shè)計(jì)簡(jiǎn)單郵件傳輸協(xié)議SMTP簡(jiǎn)單郵件傳輸協(xié)議(SimpleMailTransferProtocol,SMTP)是事實(shí)上的在Internet傳輸email的標(biāo)準(zhǔn)。SMTP是一個(gè)相對(duì)簡(jiǎn)單的基于文本的協(xié)議。在其之上指定了一條消息的一個(gè)或多個(gè)接收者(在大多數(shù)情況下被確認(rèn)是存在的),然后消息文本會(huì)被傳輸。1.SMTP的最大特點(diǎn):簡(jiǎn)單、直觀只規(guī)定發(fā)送程序和接收程序之間的命令和應(yīng)答命令和響應(yīng)都是可讀的ASCII字符串2.SMTP郵件傳輸采用客戶(hù)—服務(wù)器模式3.SMTP服務(wù)器在TCP的25端口守候4.SMTP協(xié)議是一個(gè)嚴(yán)格的鎖步協(xié)議常用的SMTP命令常用的S
2、MTP響應(yīng)SMTP響應(yīng)以3位數(shù)字開(kāi)始,后面跟有該響應(yīng)的具體描述SMTP郵件傳遞過(guò)程連接建立階段郵件傳遞階段連接關(guān)閉階段SMTP郵件傳遞過(guò)程1、與SMTP服務(wù)器建立TCP連接.......................服務(wù)器地址通常為smtp.**.com/net端口25(記住所有命令以一個(gè)CRLF結(jié)束)2、與服務(wù)器握手..................................HELO+服務(wù)器地址名稱(chēng)+CRLF3、AUTHLOGIN....................................請(qǐng)求登錄4、用戶(hù)名..............
3、..........................base64編碼的用戶(hù)名5、密碼..........................................base64編碼的密碼6、MAILFROM:<>.................................輸入帳戶(hù)的正確的郵件地址,這里于這帳戶(hù)信息不一致會(huì)導(dǎo)致服務(wù)器拒絕7、RCPTTO:<>....................................接收者,多個(gè)接收者多次調(diào)用該命令8、DATA........................................
4、..即將輸入郵件正文依次輸入TO:;FROM:;SUBJECT:;空一行正文;隔行以.結(jié)束9、QUIT..........................................退出連接狀態(tài)SMTP郵件具體傳送過(guò)程用telnet連接SMTP服務(wù)器最直觀的方式是用telnet連接到SMTP的服務(wù)器,看如何利用命令操作SMTP。打開(kāi)終端:(C:client,S:Server)C:telnetsmtp.163.com25(連接到163的SMTP服務(wù)器,協(xié)議規(guī)定SMTP服務(wù)器的端口號(hào)為25)S:Trying202.108.5.83...Connectedto
5、smtp.163.split.netease.com.Escapecharacteris'^]'.220163.comAnti-spamGTforCoremailSystem(163com[071018])(220表示連接成功C:HELOsmtp.163.com(協(xié)議規(guī)定的握手過(guò)程,格式為HELO+服務(wù)器名稱(chēng))S:250OK(250表示握手成功)C:AUTHLOGIN(AUTHLOGIN是用戶(hù)登錄命令)S:334dXNlcm5hbWU6(334表示服務(wù)器接受)C:dG9tb*****FpbA==(base64編碼后的用戶(hù)名)S:334UGFzc3dvcmQ6
6、(334表示接受)C:********aXZldXA=(base64編碼后的密碼)SMTP郵件具體傳送過(guò)程S:235Authenticationsuccessful(235登錄成功)C:MAILFROM:(MAILFROM:<>格式,這里要求必須是完全正確的發(fā)送者郵箱S:250MailOK(250系統(tǒng)常用確認(rèn)信息)C:RCPTTO:接收者郵箱S:250MailOKC:DATA(DATA明令表示以下為郵件正文)S:354Enddatawith.C:
7、TO:11@11接收方地址FROM:22@22發(fā)送者地址SUBJECT:TESTMAILSMTP(郵件主題)helloworld(空一行寫(xiě)郵件正文).(正文以.結(jié)束)S:250MailOKqueuedassmtp3,DdGowLBLAjqD6_JIg1hfBA==.63235S21223879684(服務(wù)器接受)C:noop(空操作,延遲退出時(shí)間)S:250OKC:quit(退出SMTP服務(wù)器連接)1、使用Base64編碼原因:E-mail只能支持7位數(shù)據(jù),故不能傳輸8位二進(jìn)制數(shù)據(jù)2、Base64編碼方案:使用6位來(lái)代替二進(jìn)制字節(jié)。即:三個(gè)8位字節(jié)變成四個(gè)6
8、位字節(jié),“=”表示結(jié)尾如:AAEC=//6位二進(jìn)制編