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

正文內(nèi)容

vc編寫電子郵件程序-資料下載頁

2025-07-07 12:08本頁面
  

【正文】 通訊能力,至于客戶和服務(wù)器之間是如何通訊的則由網(wǎng)絡(luò)協(xié)議來規(guī)定,這對(duì)于套接字是完全透明的。因此可以使用Socket套接字為程序提供網(wǎng)絡(luò)通訊的能力,而對(duì)于網(wǎng)絡(luò)通訊連路建立好之后采取什么樣的通訊應(yīng)答則要按SMTP協(xié)議的規(guī)定去執(zhí)行了。Socket套接字網(wǎng)絡(luò)編程方面的文章資料非常豐富,限于本文篇幅,在此不再贅述,有關(guān)詳情請(qǐng)參閱相關(guān)文檔。為簡便起見,沒有采用編寫較復(fù)雜的Windows Sockets API進(jìn)行編程,而是使用經(jīng)過較好封裝的MFC 的CSocket類。在正式使用套接字之前,也要先用AfxSocketInit()函數(shù)對(duì)套接字進(jìn)行初始化,然后用Create()創(chuàng)建套接字對(duì)象,并由該套接字通過Connect()建立同郵件服務(wù)器的連接。如果一切正常,再后續(xù)的工作中就是遵循SMTP協(xié)議的約定來使用Send()、Receive()函數(shù)來發(fā)送SMTP命令和接收郵件服務(wù)器發(fā)來的應(yīng)答碼以完成對(duì)郵件的傳送?! MTP會(huì)話應(yīng)答的實(shí)現(xiàn)  在同郵件服務(wù)器建立好鏈路連接后就可以按前面介紹過的會(huì)話流程進(jìn)行程序設(shè)計(jì)了,對(duì)于SMTP命令的發(fā)送,可按命令格式將其組幀完畢后用CSocket類的Send()函數(shù)將其發(fā)送到服務(wù)器,并通過CSocket類的Receive()函數(shù)接收從郵件服務(wù)器發(fā)來的應(yīng)答碼,并根據(jù)SMTP協(xié)議的應(yīng)答碼表對(duì)其做出響應(yīng)的處理。下面是用于接收應(yīng)答碼的函數(shù)get_response()的部分實(shí)現(xiàn)代碼:BOOL CSMTP::get_response( UINT response_expected )//輸入?yún)?shù)為希望的應(yīng)答碼{……// m_wsSMTPServer為CSocket的類對(duì)象,調(diào)用Receive()將應(yīng)答碼接收到緩存// response_buf中( response_buf, RESPONSE_BUFFER_SIZE )sResponse = response_buf。sscanf( (LPCTSTR)( 3 ), _T( %d ), amp。response )。pResp = amp。response_table[ response_expected ]。file://檢驗(yàn)收到的應(yīng)答碼是否是所希望得到的if( response != pResp>nResponse ){……//不相等的話進(jìn)行錯(cuò)誤處理return FALSE。}return TRUE。}  會(huì)話的各個(gè)部分比較類似,都是命令應(yīng)答方式,而且均成對(duì)出現(xiàn),下面是本文的重點(diǎn)也是實(shí)現(xiàn)的關(guān)鍵部分在程序控制下完成對(duì)SMTP命令的格式化以及對(duì)命令的發(fā)送和對(duì)郵件服務(wù)器應(yīng)答碼的檢驗(yàn)處理://格式化并發(fā)送HELLO命令,并接收、驗(yàn)證服務(wù)器應(yīng)答碼gethostname( local_host, 80 )。( _T( HELO %s\r\n ), local_host )。( (LPCTSTR)sHello, () )。if( !get_response( GENERIC_SUCCESS ) ) file://檢驗(yàn)應(yīng)答碼是否為250{……return FALSE。}file://格式化并發(fā)送MAIL命令,并接收、驗(yàn)證服務(wù)器應(yīng)答碼( _T( MAIL From: <%s>\r\n ), (LPCTSTR)msg>m_strFrom )。( (LPCTSTR)sFrom, () )。if( !get_response( GENERIC_SUCCESS ) ) file://檢驗(yàn)應(yīng)答碼是否為250return FALSE。file://格式化并發(fā)送RCPT命令,并接收、驗(yàn)證服務(wù)器應(yīng)答碼sEmail=(LPCTSTR)msg>m_strTo。( _T( RCPT TO: <%s>\r\n ), (LPCTSTR)sEmail )。( (LPCTSTR)sTo, () )。if(!get_response( GENERIC_SUCCESS )) file://檢驗(yàn)應(yīng)答碼是否為250return FALSE。file://格式化并發(fā)送DATA命令,并接收、驗(yàn)證服務(wù)器應(yīng)答碼sTemp = _T( DATA\r\n )。( (LPCTSTR)sTemp, () )。if( !get_response( DATA_SUCCESS ) ) file://檢驗(yàn)應(yīng)答碼是否為354return FALSE。file://發(fā)送根據(jù)RFC 822文檔規(guī)定格式化過的郵件頭( (LPCTSTR)msg>m_strHeader, msg>() )。……file://發(fā)送根據(jù)RFC 822文檔規(guī)定格式化過的郵件體sTemp = msg>m_strBody。if( ( 3 ) == _T( .\r\n ) )sTemp = _T( . ) + sTemp。while( (nPos = ( szBad )) > 1 ){sCooked = ( nStart, nPos )。sCooked += szGood。sTemp = sCooked + ( () (nPos + nBadLength) )。}( (LPCTSTR)sTemp, () )。file://發(fā)送內(nèi)容數(shù)據(jù)結(jié)束標(biāo)志<CRLF>.<CRLF>,并檢驗(yàn)返回應(yīng)答碼sTemp = _T( \r\n.\r\n )。( (LPCTSTR)sTemp, () )。if( !get_response( GENERIC_SUCCESS ) )// 檢驗(yàn)應(yīng)答碼是否為250return FALSE?! 〉酱藶橹?,已基本在程序中體現(xiàn)出了SMTP協(xié)議的會(huì)話流程,能在Socket套接字所提供的網(wǎng)絡(luò)通訊能力基礎(chǔ)之上實(shí)現(xiàn)以SMTP命令和SMTP應(yīng)答碼為基本會(huì)話內(nèi)容的通訊交互過程,從而最終實(shí)現(xiàn)SMTP協(xié)議對(duì)電子郵件的發(fā)送?! 〗Y(jié)論  電子郵件類軟件作為Internet上的應(yīng)用軟件,其設(shè)計(jì)開發(fā)必須符合Internet上成熟的技術(shù)規(guī)范(如RFC文檔系列規(guī)范)和相關(guān)協(xié)議(如POP、SMTP、IMAP以及LDAP等)。只有在遵循了上述規(guī)范和協(xié)議的基礎(chǔ)上進(jìn)行編程才能真正實(shí)現(xiàn)郵件類軟件產(chǎn)品和服務(wù)的開放性和標(biāo)準(zhǔn)化。本文著重對(duì)SMTP協(xié)議及其在VC++編程中的應(yīng)用做了介紹,并按照SMTP協(xié)議對(duì)電子郵件的發(fā)送進(jìn)行了開放性和標(biāo)準(zhǔn)性較好的程序設(shè)計(jì)。本文所述程序在Windows 98下,由Microsoft Visual C++ 。12 / 12
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1