• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于C++Builder 的電子郵件接收程序設計*

    2022-08-04 07:47:16張靜
    科技與創(chuàng)新 2022年15期
    關鍵詞:電子郵件控件調用

    張靜

    (河南省氣象培訓中心,河南 鄭州450002)

    在互聯(lián)網(wǎng)上,與電子郵件相關的2 個協(xié)議是POP3(郵局協(xié)議)和SMTP(簡單郵件傳輸協(xié)議)。其中,POP3 協(xié)議用于從POP3 服務器上接收郵件,而SMTP協(xié)議用于登錄SM T P 服務器來發(fā)送郵件[1-2]。C++Builder 提供了NMPOP3 控件和NMSMTP 控件來實現(xiàn)這2 個郵件收發(fā)協(xié)議。本文利用C++Builder 中的NMPOP3 控件,創(chuàng)建一個能接收電子郵件的系統(tǒng)。

    1 NMPOP3 控件的屬性和方法

    NMPOP3 控件用于從POP3 協(xié)議服務器的主機中接收郵件,所有POP3 接收郵件的功能都封裝在該控件中,使用者只需修改該控件的屬性、訪問該控件的方法并對事件進行響應即可[3-4]。

    1.1 NMPOP3 控件的屬性

    NMPOP3 控件的主要屬性如表1 所示。

    表1 NMPOP3 控件的屬性

    1.2 NMPOP3 控件的主要方法

    NMPOP3 控件的主要方法如表2 所示。

    表2 NMPOP3 控件的主要方法

    表2 (續(xù))

    2 電子郵件接收程序設計

    2.1 與服務器建立連接

    在此步驟中,單擊“Connect/Account”選項卡上的“連接服務器”,如圖1 所示,將觸發(fā)CntBtn 事件。在此事件處理函數(shù)中,先設置NMPOP3 控件的各項屬性,然后與服務器建立連接,當連接成功后,設置此郵箱中的郵件數(shù)目。其源程序如下:

    圖1 連接與斷開連接圖

    void __fastcall TRveForm::CntBtn(TObject*Sender)

    {

    ...

    MyPOP31->Host=HoEdt->Text;

    MyPOP31->Port=StrToInt(PtEdt->Text);

    MyPOP31->UserID=UIEdt->Text;

    MyPOP31->Password=PWEdt->Text;

    MyPOP31->Connect();

    }

    當客戶成功連接到POP 服務器時,將觸發(fā)OnConnect 事件,其代碼如下:

    MyStaBar1->SimpleText= “已經(jīng)連接到服務器”;

    當客戶試圖連接到服務器而失敗時,將觸發(fā)OnConnectionFailed 事件,其代碼如下:

    void__fastcallTRveForm::MyNMPOP31Connection Failed(TObject*Sender)

    {

    MyStaBar1->SimpleText = “連接服務器失敗”;

    }

    2.2 顯示郵件列表

    顯示郵件列表調用NMPOP3 控件的List()方法,其代碼如下:

    void __fastcall TRveForm::ListBtnClick(TObject

    *Sender)

    {

    MyNMPOP31->List();

    }

    其中,NMPOP3 控件的List()方法觸發(fā)OnList 事件,其代碼如下:

    void __fastcall TFmMyMain::MyNMPOP3List(int Msg,int Size)

    {

    If(Msg<2)

    {

    MyMo1->Clear();

    MyMo1->Lines->Add(“郵件序號/郵件大?。ㄗ止?jié))”);

    }

    MyMo1->Lines->Add(IntToStr(Msg)+ “ / ”+IntToStr(Size));

    }

    2.3 讀取郵件信息

    當郵件列表顯示以后,就可以輸入要讀取的郵件編號,單擊“Get Message”按鈕顯示郵件的詳細內容,如圖2 所示。首先調用NMPOP3 控件的GetMailMessage()方法,并將Edt5 中的郵件編號取出來,得到的郵件信息被保存在MailMessage 屬性中。

    圖2 顯示郵件圖

    其源程序如下:

    void __fastcall TFmMyMain::Btn3Click(TObject*Sender)

    {

    MyNMPOP31->GetMailMessage(StrToInt(Edt5->Text));

    Edt7->Text=MyNMPOP31->MailMessage->Subjec;

    Edt9->Text=MyNMPOP31->MailMessage->Mess ageId;

    myMe1->Lines->Assign(MyNMPOP31->MailMe ssage->Head);

    myMe2->Lines->Assign(MyNMPOP31->MailMe ssage->Body);

    }

    單擊“Get Summary”按鈕,調用NMPOP3 控件的GetSummary()方法,顯示郵件的概要信息,其代碼如下:

    void __fastcall TFmMyMain::Btn6Click(TObject*Sender)

    {

    MyNMPOP31->GetSummary(StrToInt(Edt5->Te xt));

    Edt6->Text=MyNMPOP31->Summary->From;

    Edt7->Text=MyNMPOP31->Summary->Subject;

    Edt8->Text=ntToStr(MyNMPOP31->Summary->Bytes);

    Edt9->Text=MyNMPOP31->Summary->MessageId;

    }

    單擊“Delete”按鈕,調用NMPOP3 控件的DeleteMailMessage()方法,刪除郵件,其代碼如下:

    void __fastcall TRveForm::Btn7Click(TObject*Sender)

    {

    MyNMPOP31->DeleteMailMessage(StrToInt(Edt 5->Text));

    }

    2.4 斷開與服務器的連接

    單擊“Disconnect”按鈕,調用NMPOP3 控件的Disconnect()方法,斷開與服務器的連接,其代碼如下:

    void __fastcall TRveForm::Btn2Ck(TObject*Sender)

    {

    MyNMPOP31->Disconnect();

    }

    當客戶斷開與服務器的連接時,將觸發(fā)OnDisconnect 事件,其代碼如下:

    void __fastcall TRveForm::MyNMPOP31Dct(TObject*Sender)

    {

    If(MyStatusBar1!=0)

    MyStatusBar1->SimpleText= “脫機工作”;

    }

    3 結語

    本文基于C++Builder 開發(fā)平臺,討論了在應用程序中調用NMPOP3 控件接收電子郵件的方法,并設計了具體程序,其操作界面簡單,同時經(jīng)試驗檢測,具有很好的穩(wěn)定性。

    猜你喜歡
    電子郵件控件調用
    有關旅行計劃的電子郵件
    核電項目物項調用管理的應用研究
    LabWindows/CVI下基于ActiveX技術的Excel調用
    測控技術(2018年5期)2018-12-09 09:04:46
    關于.net控件數(shù)組的探討
    軟件(2018年7期)2018-08-13 09:44:42
    基于系統(tǒng)調用的惡意軟件檢測技術研究
    民事訴訟電子郵件送達制度的司法適用
    小測試:你對電子郵件上癮了嗎?
    海外英語(2013年9期)2013-12-11 09:03:36
    利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
    就這樣玩會VBA中常見的自定義控件
    電腦迷(2012年24期)2012-04-29 00:44:03
    在PowerBuUder中利用WinSock控件制作簡單的Web服務器
    定州市| 乌兰县| 永康市| 广丰县| 普安县| 津市市| 潼南县| 历史| 镶黄旗| 盘锦市| 苏州市| 东安县| 绵阳市| 越西县| 资阳市| 江孜县| 新疆| 余江县| 项城市| 庆云县| 嵊州市| 宿迁市| 阿鲁科尔沁旗| 扎赉特旗| 井陉县| 横山县| 隆回县| 安达市| 定兴县| 鹿邑县| 贵德县| 桂东县| 腾冲县| 康平县| 红原县| 清涧县| 晋城| 莱芜市| 乌兰县| 太原市| 安丘市|