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

正文內(nèi)容

畢業(yè)設(shè)計(jì)---e-mail客戶端管理程序的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-01-19 04:56本頁(yè)面

【導(dǎo)讀】中起到非常重要的作用。如同其他的網(wǎng)絡(luò)服務(wù),電子郵件系統(tǒng)也有其使用的傳。議等這些應(yīng)用于電子郵件發(fā)送和接收的協(xié)議。預(yù)期設(shè)計(jì)的目標(biāo)。

  

【正文】 方地址,則第三方將作為第二個(gè)收信人收到同樣內(nèi)容的信件,并且在他收到的信中將一封信只是一個(gè)復(fù)本,另有其他人(列出了他們的地址)也將收到這封信。如果要將信發(fā)給多個(gè)人,但是不希望接收者知道其他人也會(huì)收到這封信,在發(fā)信時(shí)可以使用 BCC, BCC 即盲復(fù)本( Blind Carbon Copy),第二個(gè)接收者不會(huì)知道這封信還有其他的接收者。 */ 20 m_BCC=。 m_CC=。 m_Address=。 m_Server=。 m_Port=25。 m_Name=824985860。 m_UID=824985860。 m_IP=ANY_IP_ADDRESS。 m_bMime=false。 m_bHTML=false。 m_sEncodingFriendly=Chinese Simplified (GB2312)。 m_sEncodingCharset=gb2312。 UpdateData(false)。 } 客戶端初始化任務(wù)還包括選擇服務(wù)器的登錄方式 。網(wǎng)絡(luò)服務(wù)能夠正確的、有效地被客戶接收,并且用戶能夠享受一定的服務(wù)。必要條件就是各種服務(wù)模式必須分開,如果服務(wù)器不能區(qū)分不同的服務(wù)模式,那么用戶得到的服務(wù)也將是無(wú)法預(yù)料的。設(shè)定這個(gè)功能的目的就是通知服務(wù)器要提供什么樣的服務(wù)來(lái)滿足 這次連接,或者說(shuō)來(lái)滿足這次登錄,實(shí)現(xiàn)登錄方式選擇的程序代碼如下 : void DDX_CBData(CDataExchange* pDX, int nIDC, DWORDamp。 dwItemData) { HWND hWndCtrl = pDXPrepareCtrl(nIDC)。 if (pDXm_bSaveAndValidate) { dwItemData = 0L。 int nCurSel = (int) ::SendMessage(hWndCtrl, CB_GETCURSEL, 0, 0L)。 if (nCurSel != CB_ERR) dwItemData = ::SendMessage(hWndCtrl, CB_GETITEMDATA, nCurSel, 0L)。 } else { for (int nIndex = (int) ::SendMessage(hWndCtrl, CB_GETCOUNT, 0, 0L) 1。 nIndex = 0。 nIndex) { DWORD dwData = ::SendMessage(hWndCtrl, CB_GETITEMDATA, nIndex, 0L)。 if (dwData == dwItemData) { ::SendMessage(hWndCtrl, CB_SETCURSEL, nIndex, 0L)。 break。 } } if (nIndex 0) // 沒(méi)有找到對(duì)應(yīng)項(xiàng) SendMessage(hWndCtrl, WM_SETTEXT, 0, (LPARAM) (LPCSTR) ???)。 } } 21 客戶端初始化完成以后,可以在運(yùn)行界面里對(duì)信件進(jìn)行編輯。其次也可以在客戶端上設(shè)定郵件發(fā)送的地址,接收的地址 以及抄送、密送的對(duì)象甚至可以加載附件,這些功能的完成見如下代碼 : //創(chuàng)建一個(gè)新建發(fā) 送體 CSMTPMessage* CMailSendDlg::CreateMessage() { //創(chuàng)建信息體 CSMTPMessage* pMessage = new CSMTPMessage。 CSMTPBodyPart attachment。 //設(shè)定 mine 標(biāo)志 mime,初始化時(shí),默認(rèn)不支持 MIME(多功能郵件擴(kuò)展) pMessageSetMime(m_bMime)。 //設(shè)定信息和附件的編碼方式 pMessageSetCharset(m_sEncodingCharset)。 (m_sEncodingCharset)。 //獲得各種基本信息 pMessageAddMultipleRecipients(m_Receiver, CSMTPMessage::TO)。 if (!()) pMessageAddMultipleRecipients(m_CC, CSMTPMessage::CC)。 if (!()) pMessageAddMultipleRecipients(m_BCC, CSMTPMessage::BCC)。 if (!()) pMessagem_sSubject = m_Title。 if (!()) { //表示是否以 HTML 的格式發(fā)送郵件 if (m_bHTML) pMessageAddHTMLBody(m_Letter, _T())。 else pMessageAddTextBody(m_Letter)。 } //增加附件,如果要發(fā)送附件 if (!()) pMessageAddMultipleAttachments(m_Attachment)。 //設(shè)定發(fā)送者地址 if (()) { pMessagem_From = m_Address。 pMessagem_ReplyTo = m_Address。 } else { CSMTPAddress address(m_Name, m_Address)。 pMessagem_From = address。 22 pMessagem_ReplyTo = address。 } m_Authenticate=(CSMTPConnection::LoginMethod) m_Authenticate_1。 //增加一個(gè)自定義頭,測(cè)試用 ifdef _DEBUG pMessageAddCustomHeader(_T(EmailProgram: coldlee))。 endif return pMessage。 } ( 2) SMTP 主體協(xié)議實(shí)現(xiàn) 設(shè)計(jì)好的程序是用來(lái)進(jìn)行 Email 收發(fā)的,那么和服務(wù)器之間進(jìn)行通信是在本地完成初始化工作之后的基本步驟。首先,作為客戶端,需要連接設(shè)定的服務(wù)器,那樣才能完成以后的工作。 ① 連接服務(wù)器 在下面的代碼中將完成這個(gè)和服務(wù)器聯(lián)機(jī)的過(guò)程,按照程序流程的設(shè)定,在連接的過(guò)程中,要完成主機(jī)地址的驗(yàn)證、 socket 創(chuàng)建(用來(lái)連接服務(wù)器,進(jìn)行通信準(zhǔn)備)、 DNS 轉(zhuǎn)化、連接上遠(yuǎn)程的服務(wù)器等功能。 連接上以后,就可以利 用其他的交互函數(shù)進(jìn)行通信的交互和信息的傳 輸,詳細(xì)的解釋代碼如下 : BOOL CSMTPSocket::Connect(LPCTSTR pszHostAddress, int nPort, LPCTSTR pszLocalBoundAddress) { ASSERT(pszHostAddress)。 //驗(yàn)證主機(jī)地址 ASSERT(_tcslen(pszHostAddress))。 USES_CONVERSION。 //驗(yàn)證是否 socket 被創(chuàng)建 ASSERT(m_hSocket != INVALID_SOCKET)。 //綁定本地地址 if (pszLocalBoundAddress amp。amp。 _tcslen(pszLocalBoundAddress)) { LPSTR lpszAsciiLocalAddress = T2A((LPTSTR)pszLocalBoundAddress)。 SOCKADDR_IN sockLocalAddress。 ZeroMemory(amp。sockLocalAddress, sizeof(sockLocalAddress))。 = AF_INET。 23 = htons(0)。 = i_addr(lpszAsciiLocalAddress)。 //域名轉(zhuǎn)換 if ( == INADDR_NONE) { LPHOSTENT lphost。 lphost = gethostbyname(lpszAsciiLocalAddress)。 if (lphost != NULL) = ((LPIN_ADDR)lphosth_addr)s_addr。 else { WSASetLastError(WSAEINVAL)。 return FALSE。 } } //綁定 if (bind(m_hSocket, (sockaddr*) amp。sockLocalAddress, sizeof(sockLocalAddress)) == SOCKET_ERROR) return FALSE。 } //遠(yuǎn)程服務(wù)器地址 LPSTR lpszAsciiDestination = T2A((LPTSTR)pszHostAddress)。 SOCKADDR_IN sockDestinationAddr。 ZeroMemory(amp。sockDestinationAddr, sizeof(sockDestinationAddr))。 = AF_INET。 = htons((u_short)nPort)。 = i_addr(lpszAsciiDestination)。 if ( == INADDR_NONE) { LPHOSTENT lphost。 lphost = gethostbyname(lpszAsciiDestination)。 if (lphost != NULL) = ((LPIN_ADDR)lphosth_addr)s_addr。 else { WSASetLastError(WSAEINVAL)。 return FALSE。 } } //調(diào)用另外一個(gè)多態(tài)函數(shù) connect 連接到服務(wù)器 return Connect((SOCKADDR*)amp。sockDestinationAddr, sizeof(sockDestinationAddr))。 } 連接函數(shù)執(zhí)行包括檢查參數(shù)的合法, socket 的創(chuàng)建,連接成功之后,就會(huì)得到服務(wù)器的地址和本地機(jī)器名稱,然后打開 SMTP 會(huì)話連接開始進(jìn)行信 息交互會(huì)話,實(shí)現(xiàn)連接的函數(shù)代碼如下 : 24 BOOL CSMTPConnection::Connect(LPCTSTR pszHostName, LoginMethod lm, LPCTSTR pszUsername, LPCTSTR pszPassword, int nPort, LPCTSTR pszLocalBoundAddress) { USES_CONVERSION。 //參數(shù)合法性檢查 ASSERT(pszHostName)。 //創(chuàng)建 socket if (!()) { AfxMessageBox(不能創(chuàng)建 socket)。 return FALSE。 } //連接到服務(wù)器 if (!(pszHostName, nPort, pszLocalBoundAddress)) { if (pszLocalBoundAddress amp。amp。 _tcslen(pszLocalBoundAddress)) { AfxMessageBox(不能連接服務(wù)器 )。 } else { AfxMessageBox(不能連接服務(wù)器 )。 } return FALSE。 } else { //連接成功 m_bConnected = TRUE。 //獲得相應(yīng) if (!ReadCommandResponse(220))
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1