国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

張靜

(河南省氣象培訓中心,河南 鄭州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 顯示郵件列表

顯示郵件列表調(diào)用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”按鈕顯示郵件的詳細內(nèi)容,如圖2 所示。首先調(diào)用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”按鈕,調(diào)用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”按鈕,調(diào)用NMPOP3 控件的DeleteMailMessage()方法,刪除郵件,其代碼如下:

void __fastcall TRveForm::Btn7Click(TObject*Sender)

{

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

}

2.4 斷開與服務器的連接

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

void __fastcall TRveForm::Btn2Ck(TObject*Sender)

{

MyNMPOP31->Disconnect();

}

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

void __fastcall TRveForm::MyNMPOP31Dct(TObject*Sender)

{

If(MyStatusBar1!=0)

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

}

3 結(jié)語

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

猜你喜歡
電子郵件控件調(diào)用
有關旅行計劃的電子郵件
核電項目物項調(diào)用管理的應用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
關于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
民事訴訟電子郵件送達制度的司法適用
小測試:你對電子郵件上癮了嗎?
海外英語(2013年9期)2013-12-11 09:03:36
利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
就這樣玩會VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
在PowerBuUder中利用WinSock控件制作簡單的Web服務器
青阳县| 昌邑市| 重庆市| 常熟市| 平山县| 夏河县| 永新县| 石楼县| 革吉县| 泸溪县| 嘉峪关市| 田林县| 赞皇县| 樟树市| 黄梅县| 津市市| 宜良县| 丹巴县| 科技| 密云县| 军事| 阿克陶县| 辽中县| 进贤县| 合水县| 武定县| 桐梓县| 南平市| 永靖县| 沁阳市| 阿巴嘎旗| 宁强县| 连州市| 卢湾区| 达拉特旗| 墨竹工卡县| 鲁甸县| 农安县| 吴江市| 浦江县| 文成县|