<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            基于BCB開發具有身份認證功能的郵件發送程序

            時間:2024-09-19 20:25:19 計算機畢業論文 我要投稿
            • 相關推薦

            基于BCB開發具有身份認證功能的郵件發送程序

            摘 要 本文介紹了如何增強BCB中發送電子郵件的NMSMTP控件的功能,實現具有身份認證功能的郵件發送程序。

            關鍵詞 ESMTP,MIME,身份認證

            1 引言
            為了更有效地抑制垃圾郵件的泛濫,目前多數網站的郵件收發系統都使用了ESMTP服務的身份認證功能。即用戶發送郵件時,需要對用戶的身份進行驗證,如果帳號或密碼錯誤,郵件服務器會拒絕發送郵件。Borland C Builder 6中有豐富的控件供開發者使用,其中當然也包括郵件發送控件NMSMTP,這個控件使用方便,但是惟一的缺點是不支持郵件發送時的身份認證功能。筆者通過對郵件發送協議的分析,在使用控件的基礎上設計了具有身份認證功能的郵件發送程序。
            2 ESMTP協議分析
            為了實現身份認證功能,目前ESMTP協議中增加了一部分內容,這就是身份認證。下面我們看看這段認證過程,以筆者在網易的郵箱為例(其中C表示客戶端,S表示郵件服務器):
            (1)C: AUTH LOGIN
            (2)S: 334 dXNlcm5hbWU6
            (3)C: d3lxX2puX3NkX2Nu
            (4)S: 334 UGFzc3dvcmQ6
            (5)C: 密碼略去
            (6)S: 235 Authentication successful
            詳細說明:
            (1)客戶端向服務器發送認證指令。
            (2)服務器返回Base64編碼串,334意味成功。編碼字符串解碼后為"username:",說明要求客戶端發送用戶名。
            (3)客戶端發送Base64編碼的用戶名串,此處為"wyq_jn_sd_cn"。
            (4)服務器返回Base64編碼串,334意味成功。編碼字符串解碼后為"password:",說明要求客戶端發送用戶口令。
            (5)客戶端發送Base64編碼的口令串,此處略去。
            (6)服務器返回普通字符串,235意味成功,表示認證成功可以發送郵件了。
            3 MIME Base64編碼解釋
            一般的計算機編碼的一個字節是8bit,0——FF就是256種不同的8bit組合。我們現在要介紹的這種Base64編碼則是每個字節6bit,共有26=64種組合。其中每種組合對應一個字符,這些字符是“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567 89 /。”這就意味著每3個普通編碼可以轉換成4個Base64編碼,那么如果需要轉換的普通編碼不是3的整數倍怎么辦?Base64規定,位數不足的字節后面補0,然后差幾個字符補幾個‘=’號。
            4 設計思路
            我們可以使用NMSMTP控件與郵件服務器連接。通過調用Connect方法,然后監聽OnConnect事件;在OnConnect事件里我們可以增加身份認證功能。這里是主要利用了NMSMTP從Powersock中繼承的一些基本網絡通訊函數,包括Read,DataAvailable,SendBuffer等來實現身份認證過程。如果身份認證成功,就可以繼續進行郵件發送;否則,提示錯誤信息,斷開網絡連接。
            5 程序實現
            使用BCB設計如圖1所示的窗體。

            圖1 程序主界面
            5.1 在登錄按鈕的onClick事件中調用連接函數
            void __fastcall TForm1::Logon1Click(TObject *Sender)
            {
            AddLog("正在登錄" Edit1-

            【基于BCB開發具有身份認證功能的郵件發送程序】相關文章:

            基于ESMTP的電子郵件發送程序的設計與實現11-16

            開發基于路由器VR功能的寬帶應用03-07

            基于LabVIEW的自動生成Excel報告功能開發03-07

            淺談基于Pushlet推技術的網絡應用程序開發的研究03-01

            基于Windows2000開發WDM設備驅動程序的方法03-19

            基于ASP技術開發Web數據庫檢索程序03-18

            證據開示程序的功能03-26

            簡易電子郵件系統的開發11-23

            設計具有ARQ功能的全雙工數據電臺03-18

            基于WAPI的解決用戶漫游認證問題的研究03-07

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院