freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

一個(gè)smtp客戶端程序的設(shè)計(jì)與實(shí)現(xiàn)—畢業(yè)設(shè)計(jì)論文(專業(yè)版)

2025-01-24 11:23上一頁面

下一頁面
  

【正文】 結(jié) 論 成果 通過一段時(shí)間的學(xué)習(xí)和準(zhǔn)備工作,在計(jì)劃規(guī)定的時(shí)間內(nèi),完成了系統(tǒng)的基本功能,能夠滿足預(yù)期需求。如果均能通過測試,那么就通過測試, 否則就需要更改代碼。 子模塊測試:模塊完成后,針對(duì)每個(gè)子模塊進(jìn)行了簡單的單元測試。 sTemp += _T(64) 。 i buflen。 通過 PrepareBody 操作可以把郵件的正文進(jìn)行格式化,并保存,以供 CSMTP使用。 ithis() 。 //指定發(fā)送的時(shí)間 thism_tDateTime = this()。} 如果上述過程都是正確的,那么說明郵件已經(jīng)正確的發(fā)出。 if( !thisGetResponse(AUTH_OK) ) //使用 CBASE64 對(duì)密碼進(jìn)行加密并發(fā)送 ,如果驗(yàn)證成功,服務(wù)器會(huì)返回 //AUTH_SUCCESSFULLY 來標(biāo)識(shí)。 //首先要建立接收消息緩沖區(qū),接收服務(wù)器的消息 thisresponseBuf = new TCHAR[RESPONSE_BUFFER_SIZE]。該類是本軟件的操作平臺(tái)。 4) CString CBASE64::Decode(CString szDecoding , int nSize):該方法 的作用是根據(jù)傳遞進(jìn)來的參數(shù)對(duì)數(shù)據(jù)進(jìn)行解碼。 圖 7 CBASE64類圖 成員變量說明: 1) static CString base64:該變量是歸類所屬的成員變量。并提供了能夠取出這些屬性的方法。 5) public void AddToHeader(CString sTemp):該方法作用是向郵件添加頭信息。表示郵件接收者的一個(gè)數(shù)組。該方法采用查表的方式,根據(jù)郵件服務(wù)器發(fā)送的消息,來確定返回消息的具體信息,該方 法主要在郵件操作出錯(cuò)時(shí),提供錯(cuò)誤信息。如果沒有錯(cuò)誤信息,則返回空。 2) private UINT m_nPort:私有成員變量,表示與服務(wù)器連接的端口。因此,在該程序的設(shè)計(jì)過程中,選取了 C++作為開發(fā)語言, VC++ 作為程序設(shè)計(jì)的 IDE。 總體設(shè)計(jì) 目前流行的工作平臺(tái)有很多,可以實(shí)現(xiàn)目標(biāo)的編程語言也有多種。 在該 IDE 中也提供了對(duì)開發(fā)人員來說最重要的工具之一,開發(fā)文檔。利用該客戶端,用戶可以方便的發(fā)送郵件??蛻舳税l(fā)送 AUTH LOGIN命令給服務(wù)器,服務(wù)器返回 334 要求客戶端發(fā)送 BASE64 編碼后的用戶名。 圖 2 SMTP協(xié)議應(yīng)答碼 命令列表如圖 3所示。 SMTP 過程例子此例是在 主機(jī)的 wangyoucao2020 發(fā)送郵件給 主機(jī)的 xia, li 和 yue 的。 RCPTSP TO: forwardpathCRLF 此命令給出向前路徑標(biāo)識(shí)接收者,如果命令被接收,接收方返回一個(gè) 250 OK應(yīng)答,并存儲(chǔ)向前路徑。 命令與應(yīng)答對(duì)大小寫不敏感, 也就是說,命令和應(yīng)答可以是大寫,小寫或兩者的混合,但這一點(diǎn)對(duì)用戶郵件名稱卻不一定是對(duì)的,因?yàn)橛械闹鳈C(jī)對(duì)用戶名大小寫是敏感的。郵件傳送的模型,沒有變化。在實(shí)現(xiàn)過程中,用到了 VC++中的 MFC 框架,使得軟件能夠符合有關(guān)的 WINDOWS 程序標(biāo)準(zhǔn),并且有了清晰的結(jié)構(gòu)規(guī)劃,給維護(hù)帶來了方便。 關(guān)鍵詞 : SMTP協(xié)議 ; 郵件 ; C++; 客戶端 The design and implementation of a SMTP Client Abstract This thesis is pleted in the foundation of the SMTP protocol client software MyEMail. It relates to the software design, implementation, testing and so on. Through the design, the SMTP protocol can be mastered and the deficiencies of current mail service can be understood. The thesis focuses on analyzing the SMTP protocol used by the mail service and adds the authentication function which will increase the mail service security according to the provisions of the protocol ESMTP. MyEMail SMTP software is based on the principles of the protocol, the model and working processes of agreement. And it is a practical and SMTP protocol based client software. The software analyzes the working model and processes of protocol. It starts with the conventional mail process and uses the C++ language and MFC framework in VC++ platform. The SMTP protocol is implemented in this software. It can send authentication information and to the mail server. The users can send authentication information and Email to the server through local software. At present, although the protocol stipulates that the website information can be used in the text, it means that the mail content can contain malicious code, which has potential safe problems. So, the support is not provided in the design. Key words: SMTP Protocol。該軟件實(shí)現(xiàn)了 SMTP協(xié)議,具有向郵件服務(wù)器發(fā)送身份驗(yàn)證消息以及郵件的功能,使用戶能夠在本地通過客戶端程序向服務(wù)器發(fā)送郵件信息。 本畢業(yè)設(shè)計(jì)以 SMTP 協(xié)議為理論基礎(chǔ),以面向?qū)ο蟮姆绞皆?VC++ 平臺(tái)下進(jìn)行實(shí)現(xiàn)。相關(guān)文檔也由最初的RFC821 文檔,擴(kuò)展為目前的 RFC282 RFC2045- 204 RFC2554 等多個(gè)。 MAIL 命令參數(shù)是回復(fù)路徑,它指定郵件從何處來;而 RCPT 命令的參數(shù)是轉(zhuǎn)發(fā)路徑的,它指定郵件向何處去。如果請(qǐng)求被接收,接收方返回一個(gè) 250 OK應(yīng)答。 上面所述的過程是一個(gè)發(fā)送操作。服務(wù)器會(huì) 回 復(fù)它一個(gè)正常的代碼。 C: AUTH LOGIN S: 334 Username 的 BASE64 編碼 C: 用戶名 的 BASE64 編碼 S: 334 Password 的 BASE64 編碼 C: 密碼的 BASE64 編碼 S: 235 Authentication successful. 當(dāng)客戶端發(fā)送連接請(qǐng)求到 服務(wù)器時(shí),服務(wù)器返回 220 應(yīng)答碼,說明目前服務(wù)器已經(jīng)準(zhǔn)備工作。為了加深對(duì) SMTP 協(xié)議的理解,全面掌握 SMTP 協(xié)議,提高動(dòng)手能力和解決實(shí)際問題的能力,而 提出了該課題。作為一款優(yōu)秀的集成開發(fā)環(huán)境,它提供了很多方便開發(fā)的功能。 3) 提供 BASE64 的加密算法,能夠?qū)τ脩糨斎氲臄?shù)據(jù)進(jìn)行加密。開發(fā)者可能會(huì)花大量的時(shí)間在分析事件的流程上,而不是程序的邏輯。其他模塊只需調(diào)用其接口方法,并傳遞正確的參數(shù),就可以方便的與服務(wù)器建立連接,并傳送郵件內(nèi)容。如果判斷正確,那么返回 TRUE;否則返回 FALSE。在 SMTP協(xié)議中規(guī)定 :郵件正文以 DATA命令開始,以“ ”標(biāo)志結(jié)束,為了避免在郵件正文中,出現(xiàn)上述的結(jié)束標(biāo)志,必須在發(fā)送郵件前檢測郵件,把郵件中所有的與郵件結(jié)束符號(hào)相 同的字 符替換為“ CRLF..CRLF”,來避免在郵件發(fā)送時(shí)出現(xiàn)結(jié)束位置 不明 的錯(cuò)誤。對(duì)于每個(gè)域均有一對(duì)對(duì)應(yīng)的存取方法 Get 和 Set 來對(duì)其進(jìn)行操作。分別代表:普通接收者,抄送和密送。在方法中,根據(jù)當(dāng)前添加的郵件附件的個(gè)數(shù)來添加標(biāo)志。為類的調(diào)用者提供了統(tǒng)一的操作接口。 3) char * CBASE64::GetTempSecret(CString sTemp , int amp。通過隱藏的操作自動(dòng)調(diào)用該類的初始化方法 InitInstance就會(huì)初始化應(yīng)用程序。整個(gè)軟件就是由這樣的一些類有機(jī)“堆砌”而成。方法如下: //首先判斷連接是否已經(jīng)建立 //如果連接已經(jīng)建立,那么就繼續(xù)進(jìn)行下面的操作;否則返回錯(cuò)誤信息 if( !thism_bConnected ) //發(fā)送身份驗(yàn)證命令。 //如果接收到的是 SMTP_SERVER_TASK_FINISH 那么就 說明發(fā)送正確, //否則發(fā)送失敗。 sTemp += sFriendly 。 charset=\gb2312\\r\n)\ _T(ContentTransferEncoding: base64\r\n\r\n)。 sTemp += sContent 。每個(gè)索引值的范圍都是 0- 63,按照該索引值進(jìn)行查表(表由上述的 64 個(gè)字符組成),找出對(duì)應(yīng)的字符。} //如果有一個(gè)剩余的字符,那么用兩個(gè) =補(bǔ)足 if(n%3==1) { //j=4,i=3。i++){ thissEncode += CBASE64::base64[(int)sTemp[i]] 。 通過與測試預(yù)期結(jié)果的比對(duì)即可知,該測試用例是否能夠通過。 圖 16 身份 驗(yàn)證失敗 在測試過程中,出現(xiàn)過一些不符合標(biāo)準(zhǔn)的情況,經(jīng)過修改,都基本與最初的設(shè)計(jì)的目標(biāo)符合,能夠完成正常的功能。在本次設(shè)計(jì)中,完成了對(duì) SMTP 協(xié)議的分析,通過本軟件能夠根據(jù)用戶提供的用戶名和密碼向?qū)崿F(xiàn)了 SMTP 協(xié)議的服務(wù)器端發(fā)送郵件。 按照上述標(biāo)準(zhǔn)對(duì)子模塊進(jìn)行逐個(gè)測試,盡量的排除軟件模塊的 BUG。測試的方式采用了黑盒與白盒兩種,并且對(duì)有關(guān)的操作進(jìn)行了邊界分析。 sTemp += _T(64) 。 i+=3,j+=4){ //在循環(huán)內(nèi)即是把 3字符變化為 4個(gè)索引的過程 sTemp += _T((szEncoding[i]amp。到目前為止,我們已經(jīng)把關(guān)于郵件頭和正文均加入到 CMailMessage 的對(duì)象中,當(dāng)想要獲取這些內(nèi)容時(shí)發(fā)個(gè)消息給它就 行了。 i++){ CString sContent 。 //format is : Sun, 14 April 07 11:39 GMT sTemp = _T(Date: )。關(guān)于郵件的正文部分,并沒有在上述部分說明。否則返回錯(cuò)誤。 //創(chuàng)建連接,成功繼續(xù)執(zhí)行,失敗則返回。它與用戶直接進(jìn)行交互,該界面是否友好,直接影響到用戶體驗(yàn)。 實(shí)現(xiàn)軟件的界面類 方便的用戶界面是用戶能夠方便操作最基本保證。表示 BASE64編碼所使用的字符表。其類圖 如圖 6所示。傳遞的參數(shù)為要向郵件添加的頭 信息。在 SMTP 協(xié)議中規(guī)定:一封郵件可以有多個(gè)接收者,每個(gè)接收者需要一個(gè) RCPT TO 命令與之對(duì)應(yīng)。如果查表成功,返回一個(gè)合適 的出錯(cuò)信息;如果查表失敗,則返回未知錯(cuò)誤。 4) public UINT GetPort():獲取服務(wù)器的端口號(hào)。在該軟件中該值為 25。在本軟件構(gòu)過程中,定義了 CSMTP、 CMailMessage、 CMIMEMessage、 CBASE64 四個(gè)工具類,給程序使用。下面與流行的兩種平臺(tái)做比較并說明選擇 VC++的原因: 整個(gè)工程使用 JAVA 平臺(tái) 從誕生至今,一路走來 JAVA 可以說是一帆風(fēng)順。目前很多的工具都自帶了幫助文檔,但微軟的 MSDN 確實(shí)作的非常出色。 軟件 開發(fā)環(huán)境 系統(tǒng)環(huán)境 本系統(tǒng)采用的工具軟件有: OS: Windows 2020 Data Center Edition IDE: Visual C++ 企業(yè)版 工具簡介 在本系統(tǒng)中,使用的開發(fā)工具為 Visual C++ 企業(yè)版??蛻舳税l(fā)送 BASE64 編碼后的用戶名。因此, 制定 出了 一系列的相關(guān)協(xié)議 來滿足人們?nèi)找孀兓男枨?。 打開與退出 想進(jìn)行郵件的發(fā)送,就要有一對(duì)用于傳送信息的通道。 forwardpath>不僅包括郵件,它是主機(jī)和目的郵箱的路由表,在其中的第一個(gè)主機(jī)就是接收命令的主機(jī)。當(dāng)指定一般的命令或應(yīng)答格式后,參數(shù)會(huì)由一些類似于語言的字符串表示出來,如 string> 或 reversepath> ,這里尖括號(hào)表示這是一種類似于語言的變量。其中接收 SMTP 可以是最終接受者也可以是中間傳送者。主要功能就是傳送
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1