版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
SMTP一:SMTP簡介SMTP(SimpleMailTransferProtocol)即簡潔郵件傳輸協(xié)議,是一種供給牢靠且有效電子郵件傳輸?shù)膮f(xié)議。SMTPFTP的一種郵件服務(wù),主要用于傳輸系統(tǒng)之間的郵件信息并供給與來信有關(guān)的通知。SMTP目前已是事實上的在InternetE-Mail簡潔的基于文本的協(xié)議。在其之上指定了一條消息的一個或多個接收者〔在〕,然后消息文本就傳輸了。可以很簡潔地通TelnetSMTPSMTPTCP25。要為一個SMTP效勞器,需要使用MX(MaileXchange〕DNS。SMTP協(xié)議進展2080SMTPUUCP的補充,UUCPSMTP送和接收的機器始終都聯(lián)網(wǎng)的狀況下工作得最好。SMTP重要特性之一是其能跨越網(wǎng)絡(luò)傳輸郵件,即“SMTP一個網(wǎng)絡(luò)可以由公用因特網(wǎng)上TCP可相互間訪問的主機、防火墻分隔的TCP/IP網(wǎng)絡(luò)上TCP可相互訪問的主機,以及其他LAN/WAN中的主機利用非TCPSMTP輸,也可通過中繼器或網(wǎng)關(guān)是實現(xiàn)某處理機與其他網(wǎng)絡(luò)之間的郵件傳輸?!睤NS)識別出傳輸郵件的下一跳IPSendmail是最早實現(xiàn)SMTP200150SMTP實現(xiàn)為一個客戶端〔消息的發(fā)送者〕或一個效勞器〔消息的承受者〕。一些其他的流行的SMTPPhilipHazel的exim,IBMPostfixD.J.BernsteinQmailMicrosoftExchangeServer.由于這個協(xié)議開頭是基于純ASC好。后來開發(fā)了用來編碼二進制文件的標(biāo)準(zhǔn),如MIMESMTPSMTP效勞器都支持8MIMESMTP是一個“推“的協(xié)議,它不允許依據(jù)需要從遠程效勞器上“拉”來消息。要做到這點,郵件客戶端必需使用POP3IMAPSMTP效勞器可以使用ETRN(ExtendedTurn,擴展回車〕SMTP上觸發(fā)一個發(fā)送。)垃圾郵件仍舊是個重要的問題。原始的SMTP協(xié)議的局限之一在于它沒有為發(fā)送方進行認證的功能。因此定義了SMTP-AUTH擴展。由于SMTP巨大安裝根底的網(wǎng)絡(luò)效應(yīng),寬闊地修改SMTP或者完全替代它被認為是不現(xiàn)實的。InternetMail2000就是這樣一個為替換而做的建議。IRTF的反垃圾郵件爭論小組正在爭論一些供給簡潔、敏捷、輕量級的、可升級的源端認證的建議。最有可能被承受的建議是SenderPolicyFramework 二:協(xié)議的工作原理SMTP在郵件通信中的位置如以下圖所示:1、工作機制:SMTPSMTPSMTPSMTP接投送到用戶的郵箱,否則向MX1SMTPSMTP出,由接收SMTP送者發(fā)送MAIL命令指明郵件發(fā)送者。假設(shè)SMTP接收者可以接收郵件則返OKSMTPRCPTSMTPOK〔但〕會接收到特別的序列,假設(shè)接收者成功處理了郵件,則返回OK命令和響應(yīng)都是基于ASCCR和LF符完畢。響應(yīng)包括一個表示SMTPTCP25號端口監(jiān)聽連續(xù)懇求。2〔1〕建立TCP連接??蛻舳税l(fā)送端發(fā)送MAIL命令;效勞器端正期望以O(shè)K作為響應(yīng),說明預(yù)備接收?!?〕客戶端發(fā)送RCPT可以有多個RCPT行;效勞器端則表示是否情愿為收件人接收郵件?!?〕協(xié)商完畢,發(fā)送郵件,用命令DATAQUIT3、SMTPSMTPDNS中打算收件人的域名來路由電子郵SMTPDNSMXMXSMTP中繼主機,屬于該域的電子郵件都應(yīng)向該主機發(fā)送。假設(shè)SMTP效勞器mail.abc“mailto:shuer@sh.abc“shuer@sh.abc以下過程:〔1〕Sendmail懇求DNSsh.abcCNAME記錄,如有,CNAME〔〕shmail.abcshmail.abc的CNAME記錄,直到?jīng)]有為止。2〔〔2假定被CNAMEshmail.abcsendmail懇求@abcDNSshmail.abcMX〔〕,shmailMX5shmail.abc10shmail2.abc。的〕,即IP〔假設(shè)值〕?!?〕Sendmail連接,傳送這封給“mailto:shuser@sh.abc“shuser@sh.abc的SMTP三:SMTP的協(xié)議命令及常用應(yīng)用碼格式說明命令命令描述DATA開頭信息寫作EXPN<string>驗證給定的郵箱列表是否存在,擴大郵箱列表,也常被禁用HELO<domain>向效勞器標(biāo)識用戶身份,返回郵件效勞器身份HELP<comman查詢效勞器支持什么命令,返回命令中的信息d>MAILFROM<ho在主機上初始化一個郵件會話st>NOOP無操作,效勞器應(yīng)響應(yīng)OKQUIT終止郵件會話3RCPTTO<user>
標(biāo)識單個的郵件接收人;常在MAILrcptto:RSET 重置會話,當(dāng)前傳輸被取消st>SENDFROM<host>
發(fā)送郵件到用戶終端SOMLFROM<host>
發(fā)送郵件到用戶終端或郵箱TURN 接收端和發(fā)送端交換角色VRFY<user> 用于驗證指定的用戶/郵箱是否存在;由于安全方面的緣由,效勞器常制止此命令應(yīng)用碼 格式說明501 參數(shù)格式錯誤502 命令不行實現(xiàn)503 錯誤的命令序列504 命令參數(shù)不行實現(xiàn)4211 系統(tǒng)狀態(tài)或系統(tǒng)幫助響應(yīng)214 幫助信息<domain>效勞就緒<domain>效勞關(guān)閉421 <domain>效勞未就緒,關(guān)閉傳輸信道要求的郵件操作完成用戶非本地,將轉(zhuǎn)發(fā)向<forward-path>450 要求的郵件操作未完成,郵箱不行用550 要求的郵件操作未完成,郵箱不行用451 放棄要求的操作;處理過程中出錯551 用戶非本地,請嘗試<forward-path>5452系統(tǒng)存儲缺乏,要求的操作未執(zhí)行452系統(tǒng)存儲缺乏,要求的操作未執(zhí)行四:試驗分析1、程序運行分析將程序執(zhí)行后會得到如以下圖所示結(jié)果:上圖黃線局部有三層信息:220是郵件效勞器返回給客戶的響應(yīng)狀態(tài)碼,它表示郵件效勞器預(yù)備就緒(serviceready)。smtp.qq表示當(dāng)前進展的響應(yīng)的郵件效勞器的主機名。EsmtpSMTPSMTP送問候信息,得到的郵件效勞器返回結(jié)果如以下圖:6接著輸入如下一行命令:authlogin得到如下結(jié)果:334,SMTPBASE64BASE64如以下圖所示:7接著將郵件發(fā)送者的填寫為郵箱地址,得到如下效果圖:其中返回一個250的響應(yīng)狀態(tài)碼,代表當(dāng)前操作執(zhí)行成功。SMTPSMTPmailfrom8mailfrom的真實郵箱地址,而可以是其他人的郵箱地址。將郵件接收者的地址填寫完整,得到如下結(jié)果:郵件效勞器返回一個250的響應(yīng)狀態(tài)碼,代表當(dāng)前操作執(zhí)行成功。而事實上SMTP協(xié)議允許在一個連接通道中連接多個收件人完成余下工作得:9接著輸入data命令,表示后面將傳送郵件內(nèi)容。郵件效勞器返回354的響quit件的傳輸過程。SMTP效勞器接收到客戶端發(fā)送的quit命令后,將斷開與客戶端TelnetwindowsDOS2、數(shù)據(jù)包分析:以下圖為試驗過程中抓取的SMTP數(shù)據(jù)包總體截圖:建立連接:10MUASMTPSMTPMUA發(fā):返回通告,如以下圖,表示支持該域轉(zhuǎn)發(fā)。11詢問是夠支持傳到該域即QQ:返回通告,表示支持,可以進展下一步。SMTP12通告信息完畢掌握符是什么。發(fā)送郵件:13QQ告知MUA,信息已經(jīng)接收到,接著返回該郵件在效勞器中的隊列號:告知SMTP效勞器本次傳輸完畢:14效勞器賜予的回應(yīng):至此,整個發(fā)送過程完畢。五: 附錄〔發(fā)送程序〕#ifdefWIN32#include<windows.h>#include<stdio.h>#else#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<errno.h>#include<unistd.h>#include<sys/time.h>#endifstructdata6{unsignedintd4:6;unsignedintd3:6;unsignedintd2:6;unsignedintd1:6;15};//base64charcon628(charc6);voidbase64(char*dbuf,char*buf128,intlen);voidsendemail(char*email,char*body);intopen_socket(structsockaddr*addr);intmain{charemail[]=“mailto:1259705717@qq““1259705717@qq“;charbody[]=“From:“mailto:1259705717@qq“\“l(fā)ucy\“<1259705717@qq>\r\n““To:“mailto:874023326@qq“\“dasiy\“<874023326@qq>\r\n““Subject:Hello\r\n\r\n““HelloWorld,HelloEmail!“;sendemail(email,body);return0;}charcon628(charc6){charrtn=”\0”;if(c6<26)rtn=c6+65;elseif(c6<52)rtn=c6+71;elseif(c6<62)rtn=c6-4;elseif(c6==62)rtn=43;elsertn=47;returnrtn;}16//base64的實現(xiàn)voidbase64(char*dbuf,char*buf128,intlen){structdata6*ddd=NULL;inti=0;charbuf[256]={0};char*tmp=NULL;charcc=”\0”;memset(buf,0,256);strcpy(buf,buf128);for(i=1;i<=len/3;i++){tmp=buf+(i-1)*3;cc=tmp[2];tmp[2]=tmp[0];tmp[0]=cc;ddd=(structdata6*)tmp;dbuf[(i-1)*4+0]=con628((unsignedint)ddd->d1);dbuf[(i-1)*4+1]=con628((unsignedint)ddd->d2);dbuf[(i-1)*4+2]=con628((unsignedint)ddd->d3);dbuf[(i-1)*4+3]=con628((unsignedint)ddd->d4);}if(len%3==1){tmp=buf+(i-1)*3;cc=tmp[2];tmp[2]=tmp[0];tmp[0]=cc;ddd=(structdata6*)tmp;17dbuf[(i-1)*4+0]=con628((unsignedint)ddd->d1);dbuf[(i-1)*4+1]dbuf[(i-1)*4+2]==con628((unsigned”=”;int)ddd->d2);dbuf[(i-1)*4+3]}if(len%3==2){=”=”;tmp=buf+(i-1)*3;cc=tmp[2];tmp[2]=tmp[0];tmp[0]=cc;ddd=(structdata6*)tmp;dbuf[(i-1)*4+0]=con628((unsignedint)ddd->d1);dbuf[(i-1)*4+1]=con628((unsignedint)ddd->d2);dbuf[(i-1)*4+2]=con628((unsignedint)ddd->d3);dbuf[(i-1)*4+3]=”=”;}return;}//發(fā)送郵件voidsendemail(char*email,char*body){intsockfd=0;structsockaddr_intheir_addr={0};charbuf[1500]={0};charrbuf[1500]={0};charlogin[128]={0};charpass[128]={0};#ifdefWIN3218WSADATAWSAData;WSAStartup(MAKEWORD(2,2),&WSAData);#endifmemset(&their_addr,0,sizeof(their_addr));their_addr.sin_family=AF_INET;their_addr.sin_port=htons(25);their_addr.sin_addr.s_addr=inet_addr(“5“);//qqsmtp效勞器2秒后重連接sockfd=open_socket((structsockaddr*)&their_addr);memset(rbuf,0,1500);while(recv(sockfd,rbuf,1500,0)==0){printf(“reconnect...\n“);Sleep(2);//close(sockfd);sockfd=open_socket((structsockaddr*)&their_addr);memset(rbuf,0,1500);}printf(“%s\n“,rbuf);//EHLOmemset(buf,0,1500);sprintf(buf,“EHLOabcdefg-PC\r\n“);send(sockfd,buf,strlen(buf),0);memset(rbuf,0,1500);recv(sockfd,rbuf,1500,0);19printf(“%s\n“,rbuf);//AUTHLOGINmemset(buf,0,1500);sprintf(buf,“AUTHLOGIN\r\n“);send(sockfd,buf,strlen(buf),0);printf(“%s\n“,buf);memset(rbuf,0,1500);recv(sockfd,rbuf,1500,0);printf(“%s\n“,rbuf);//USERmemset(buf,0,1500);qqmemset(login,0,128);base64(login,buf,strlen(buf));sprintf(buf,“%s\r\n“,login);send(sockfd,buf,strlen(buf),0);printf(“%s\n“,buf);memset(rbuf,0,1500);recv(sockfd,rbuf,1500,0);printf(“%s\n“,rbuf);//PASSWORD“******“);//qqmemset(pass,0,128);base64(pass,buf,strlen(buf));sprintf(buf,“%s\r\n“,pass);send(sockfd,buf,strlen(buf),0);20printf(“%s\n“,buf);memset(rbuf,0,1500);recv(sockfd,rbuf,1500,0);printf(“%s\n“,rbuf);//MAILFROMmemset(buf,0,1500);sprintf(buf,“MAILFROM:“mailto:1259705717@qq“<1259705717@qq>\r\n“);send(sockfd,buf,strlen(buf),0);memset(rbuf,0,1500);recv(sockfd,rbuf,1500,0);printf(“%s\n“,rbuf);//RCPTTO第一個收件人sprintf(buf,“RCPT“mailto:874023326@qq“TO:<874023326@qq>\r\n“,email);send(sockfd,buf,strlen(buf),0);memset(rbuf,0,1500);recv(sockfd,rbuf,1500,0);printf(“%s\n“,rbuf);//DATA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托律師個人合同范例
- 公對公續(xù)簽合同范例
- 工程勞務(wù)金合同范例
- 陶瓷店展廳轉(zhuǎn)讓合同范例
- 電力采購合同范例
- 三年級上冊數(shù)學(xué)教案-7 分?jǐn)?shù)的初步認識(一) 課時1∣蘇教版
- 酒家采購合同范例
- 沖鋒舟租賃合同范例
- 中視股合同范例
- 個人公司轉(zhuǎn)讓合同范例
- GB/T 19963.2-2024風(fēng)電場接入電力系統(tǒng)技術(shù)規(guī)定第2部分:海上風(fēng)電
- 人教版(2024新版)七年級上冊數(shù)學(xué)第六章《幾何圖形初步》測試卷(含答案)
- 宣傳片視頻拍攝項目投標(biāo)方案(技術(shù)方案)
- 海南省省直轄縣級行政單位2023-2024學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題
- 2022年風(fēng)力發(fā)電運行檢修技能理論題庫(含答案)
- 其他專技、管理服務(wù)崗位聘期考核表
- 四年級上學(xué)期勞動技術(shù)測試卷帶答案
- 關(guān)于學(xué)習(xí)考察應(yīng)急管理工作情況報告.doc
- TX-1C單片機實驗板使用手冊
- 焚燒爐熱工計算
- 《2021國標(biāo)建筑專業(yè)圖集資料》96S821鋼筋混凝土清水池附屬構(gòu)配件圖集
評論
0/150
提交評論