<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于BCB開發(fā)具有身份認證功能的郵件發(fā)送程序

    時間:2024-09-19 20:25:19 計算機畢業(yè)論文 我要投稿
    • 相關(guān)推薦

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

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

    關(guān)鍵詞 ESMTP,MIME,身份認證

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

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

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

    基于ESMTP的電子郵件發(fā)送程序的設(shè)計與實現(xiàn)11-16

    開發(fā)基于路由器VR功能的寬帶應(yīng)用03-07

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

    淺談基于Pushlet推技術(shù)的網(wǎng)絡(luò)應(yīng)用程序開發(fā)的研究03-01

    基于Windows2000開發(fā)WDM設(shè)備驅(qū)動程序的方法03-19

    基于ASP技術(shù)開發(fā)Web數(shù)據(jù)庫檢索程序03-18

    證據(jù)開示程序的功能03-26

    簡易電子郵件系統(tǒng)的開發(fā)11-23

    設(shè)計具有ARQ功能的全雙工數(shù)據(jù)電臺03-18

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

    主站蜘蛛池模板: 久久久久久久久无码精品亚洲日韩| 亚洲精品白浆高清久久久久久| 久热精品视频第一页| 久久国产精品无码一区二区三区| 国产精品五月天强力打造| 国产精品免费AV片在线观看| 久久久精品人妻无码专区不卡| 亚洲国产精品婷婷久久| 999国内精品永久免费观看 | 国产精品爽黄69天堂a| 久久香蕉超碰97国产精品| 香港aa三级久久三级老师2021国产三级精品三级在 | 国内精品久久久久久久涩爱| 国产亚洲精品a在线观看app| 久久99精品久久久久久hb无码 | 国产精品日日摸夜夜添夜夜添1国产精品va欧美精 | 精品一区二区三区免费毛片爱| 亚洲精品第一国产综合精品99 | wwwvr高清亚洲精品二区| 精品视频一区二区三区免费| 国产精品久久久亚洲| 久久亚洲欧美国产精品| 自拍偷自拍亚洲精品情侣| 四虎亚洲国产成人久久精品| 久久久久人妻精品一区三寸蜜桃| 国产精品免费一区二区三区| 精品一区二区三区四区| 精品久久久久久亚洲| 亚洲国产精品国自产电影| 日韩一级精品视频在线观看| 丝袜美腿国产精品视频一区| 日本精品中文字幕| 亚洲天堂久久精品| 人精品影院| 精品久久久久中文字| 精品国产一区二区三区2021| 国产精品狼人久久久久影院| 国产精品欧美一区二区三区 | 久久久91人妻无码精品蜜桃HD | 国产l精品国产亚洲区在线观看| 亚洲精品无码成人片久久|