亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 編寫你的電子郵件軟件 (2001年2月9日).txt

?? delphi 編程技巧
?? TXT
字號:
編寫你的電子郵件軟件 (2001年2月9日) 

網友更新  分類:數據庫   作者: a(推薦)  推薦:a   閱讀次數:719  
(http://www.codesky.net)  

--------------------------------------------------------------------------------

  如果你每天上網,那么你肯定每天要使用電子郵件軟件,有沒有想過寫一個屬于自己的電子郵件軟件,用
自己寫的軟件來收信和發信,那種感覺肯定很好。 
  眾所周知,Delphi這個windows開發平臺中的貴族可以開發各個方面的應用程序,當然基于internet的程序
用它開發也是得心應手。 
  從Delphi3開始,它自己的控件中就有了基于interent開發的控件,不過這些控件不是Delphi本身的vcl控
件,而是ActiveX控件,這樣多多少少對于應用程序的發布不是很方便。好在借助于Delphi強大的控件技術,我
們可以從internet上找到很多免費的vcl控件來幫助我們寫電子郵件軟件,比較有名的是ics控件組和sakemai控
件組。Ics是一個全面的internet程序解決方案,而sakemail是專門用來開發電子郵件軟件的控件。本文就是要
介紹如何使用sakemail控件來寫支持POP3和SMTP協議的收信和發信程序。 

一、下載和安裝 
  sakemail在很多著名的Delphi站點都可以下載sakemail控件,比如www.torry.ru。在Delphi中安裝sakemail
是很簡單的,先將下載的zip文件釋放在你指定的目錄中,在Delphi中選擇打開文件,設定文件類型為dpk,然后
選擇目錄下的emaildak.dpk文件,選擇compile,然后install就行了。安裝完后,會在控件的internet頁中添加
4個相應的控件。 

二、收信程序 
讓我們先來看看利用POP3協議收信的范例程序是如何來寫的。 
從這個設計時的畫面(如圖1)看到,收信主要利用sakemail的sakmsglist和sakpop控件。讓我們來看看關鍵的按鈕
“Connect and retrieve msgs”后面的代碼。 
procedure TForm1.CntClick(Sender: TObject); 
begin 
//指定服務器 
SakPOP1.Host := EditHost.text; 
//指定用戶名稱 
SakPOP1.UserId := EditUserId.text; 
//指定用戶密碼 
SakPOP1.Passwd := EditPasswd.text; 

StatusBar1.Panels[0].text := 'Wait a moment, please...'; 
SakPOP1.connect;//連接服務器 
if SakPOP1.POPError then //連接服務器失敗 
begin 
MessageDlg( 'Connect failed. Maybe the server is down or not responding.', 
mtError, [mbOk], 0); 
exit; 
end; 
if not SakPOP1.login then //登陸服務器失敗 
begin 
ShowMessage('Unauthorized access...'); 
exit; 
end; 
//顯示共有多少電子郵件 
showMessage( 'You have ' + intToStr( SakPOP1.Init) + ' new msg(s) of '
+intToStr( SakPOP1.MsgsCount)); 
BtnCancel.Enabled := true; 
//接受電子郵件 
sakPOP1.retrieveAllMessages( SakMsgList1); 
BtnCancel.Enabled := false; 
SakPOP1.quit; //退出POP3連接 
if SakMsgList1.count > 0 then 
begin 
currentMsg := 0; 
showCurrentMsg; //顯示當前的電子郵件內容 
end; 
StatusBar1.Panels[0].text := 'Done. ' + intToStr( SakMsgList1.count) +
' msgs retrieved.'; 
end; 
在上面的程序中,我們已經加入了比較詳細的注釋。利用sakemail的控件來收取信件基本上有以下
幾個步驟: 
1.服務器連接的準備工作。你需要制定服務器的域名、用戶名和密碼。用以下語句實現: 
SakPOP1.Host:=EditHost.text; 
SakPOP1.UserId:=EditUserId.text; 
SakPOP1.Passwd:=EditPasswd.text; 
2.服務器連接。在這個階段如果一切正常,你只需要等待幾秒,但是如果服務器地址錯,
或者用戶名和密碼錯誤,則會退出,需要重新連接。用以下語句實現:SakPOP1.connect
3.獲得郵件的數量。這是通過語句SakPOP1.MsgsCount來獲得的。 
3.從服務器將郵件傳送到本地。 
顯示一封電子郵件由以下的過程完成: 
//顯示當前的郵件 
procedure TForm1.showCurrentMsg; 
var msg: TSakMsg; 
i: integer; 
begin 
msg := SakMsgList1.items[ currentMsg]; 
labelMsgId.Caption := msg.MessageId; 
labelInReplyTo.Caption := msg.InReplyTo; 
labelFrom.caption := msg.From; 
labelTo.caption := msg.SendTo; 
labelSubject.caption := msg.Subject; 
labelDate.caption := msg.Date; 
labelReplyTo.Caption := msg.ReplyTo; 
memo1.text := msg.Text.Text; {msg.Text is a StringList} 
if msg.AttachedFiles.Count > 0 then 
begin 
comboBoxAttach.items.clear; 
for i := 0 to msg.AttachedFiles.Count-1 do 
comboBoxAttach.items.add( msg.AttachedFiles[ i].fileName); 
comboBoxAttach.enabled := true; 
comboBoxAttach.itemIndex := 0; 
buttonSave.enabled := true; 
end 
else 
begin 
comboBoxAttach.enabled := false; 
buttonSave.enabled := false; 
end; 
end; 
從上面的過程我們可以看到顯示一個電子郵件的內容的程序并不復雜,正文內容直接交給memo
來顯示,如果有附件的話,讀出附件的數量,然后將其文件名寫入combo box中。收信程序的
框架就大致如此了(如圖2)。下面我們來看看發信程序。 

三、發信程序 
單純的發信程序很簡單,我們來看看“send”按鈕背后的代碼: 
//發信 
procedure TForm1.ButtonSendClick(Sender: TObject); 
begin 
screen.cursor := crHourGlass; 
StatusBar1.Panels[0].Text := 'Wait a moment, please'; 
SakSMTP1.host := EditHost.text; //指定地址 
SakMsg1.UserName := EditUserName.text; 
//以下指定發送人有關信息 
SakMsg1.From := EditFrom.text; 
SakMsg1.SendTo := EditTo.text; 
SakMsg1.Subject := EditSubject.text; 
SakMsg1.Text.Assign( Memo1.Lines);//信件正文 
SakSMTP1.connect;//連接服務器 
if not SakSMTP1.SMTPError then 
begin 
BtnCancel.Enabled := true; 
SakSMTP1.SendMessage( SakMsg1); 
BtnCancel.Enabled := false; 
SakSMTP1.quit; 
StatusBar1.Panels[0].Text := SakSMTP1.ReplyString; 
end; 
screen.cursor := crDefault; 
end; 
發信有以下幾個步驟: 
1.指定發送郵件相關的信息,比如服務器地址、發信人等。 
2.服務器連接。 
3.如果連接正常,發送電子郵件。 
利用SakeMail我們可以看到發信的步驟是比較簡單的。同時
sakemail的發信控件提供了很多的控件,比如發信前、發信
后、解碼過程中等,可以讓你很好的控制發信的整個過程。同樣收信控件也具
有相應的這些事件。 

四、電子郵件程序需要注意的其它問題。 
  我們從以上的分析可以看出利用sakemail這個優秀的電子郵件引擎,我們也可以寫出具有自己
特色的電子郵件軟件或者讓自己的應用程序輕易地具有電子郵件功能。不過如果你像要寫一個真的
可以用的電子郵件軟件,至少還應該具有以下的設計和功能: 
  1.對于電子郵件的儲存和查找功能。不能保存郵件的電子郵件軟件是沒有實際使用價值的,同樣
在這個信息爆炸的時代,你的程序必須具有良好的查詢功能,讓使用者快速地找到需要的信息。 
  2.多帳戶功能。越來越多的免費電子郵件使得支持多帳戶功能成為我們選擇電子郵件軟件的一個
基本特性。多帳戶功能增加了程序設計的復雜性。 
  3.完備的郵件過濾功能。隨著越來越多的信息通過電子郵件的形式發送過來,如果不能建立起一
套完備的過濾功能,那么有些重要的郵件一旦被疏忽,影響可能很大。所以你的電子郵件程序應該具
有一點人工智能,能自動過濾、自動挑選甚至自動恢復指定的電子郵件。 
  4.文件格式的支持。Html格式的電子郵件可以具有更好的表現形式,因此你應該支持Html格式的
電子郵件。另外,因為很多的電子郵件附件是zip格式,如果你的電子郵件程序內部直接支持察看zip
格式以及釋放操作,就更加錦上添花了。 
  以上簡要概括地談了一些作者自己開發Email程序的看法和經驗,希望對于有興趣于開發電子郵件
程序的朋友有所幫助。 

本文來自中國程序員網站 

 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩不卡在线| 97精品国产露脸对白| 亚洲国产欧美在线| 亚洲精品国产无天堂网2021 | 91老司机福利 在线| 成人一区二区三区在线观看| 国产一区二三区| 国产成人精品免费看| 国产精品一卡二| 成人免费观看视频| 99re这里只有精品视频首页| 97久久精品人人做人人爽| 91网址在线看| 欧美日韩国产bt| 日韩精品中文字幕一区二区三区| 精品久久久三级丝袜| 久久久精品人体av艺术| 欧美激情在线一区二区| 玉米视频成人免费看| 三级欧美在线一区| 激情av综合网| av一本久道久久综合久久鬼色| 色综合中文字幕| 91精品在线观看入口| 久久综合久久99| 亚洲欧洲av一区二区三区久久| 亚洲一区二区三区国产| 日本视频在线一区| 国产麻豆91精品| 在线免费一区三区| 日韩欧美在线网站| 国产精品你懂的在线欣赏| 一区二区三区精密机械公司| 日本不卡123| gogo大胆日本视频一区| 4438x成人网最大色成网站| 精品盗摄一区二区三区| 亚洲精品视频在线| 韩国女主播成人在线| 日本电影欧美片| 精品电影一区二区| 亚洲国产综合人成综合网站| 国产福利精品导航| 欧美日韩不卡视频| 亚洲少妇屁股交4| 久久99深爱久久99精品| 色成人在线视频| 久久色成人在线| 日韩中文字幕1| 一本到一区二区三区| 国产午夜亚洲精品理论片色戒| 亚洲成av人**亚洲成av**| 成人av影院在线| 精品国产免费人成在线观看| 丝袜国产日韩另类美女| 91农村精品一区二区在线| 久久久久久**毛片大全| 日韩av一级电影| 欧美吻胸吃奶大尺度电影| 亚洲国产精品传媒在线观看| 黄页视频在线91| 欧美一区二区三区男人的天堂| 亚洲一级二级在线| 色综合久久久久久久久久久| 中文字幕亚洲一区二区av在线 | 国产.精品.日韩.另类.中文.在线.播放| 在线观看免费成人| 亚洲欧美视频在线观看| aaa国产一区| 中文字幕乱码久久午夜不卡| 国产一区二区三区久久悠悠色av| 日韩一区二区三区视频在线观看| 视频一区二区三区中文字幕| 欧美日韩高清一区二区不卡| 亚洲国产精品一区二区久久恐怖片| 99久久精品免费精品国产| 中文字幕一区二区三区蜜月| 成人理论电影网| 国产精品久久二区二区| www.欧美亚洲| 亚洲欧美日韩综合aⅴ视频| 91在线视频网址| 一区二区理论电影在线观看| 欧洲精品中文字幕| 亚洲v精品v日韩v欧美v专区 | 日韩一区二区三区免费观看| 日韩av在线免费观看不卡| 日韩欧美国产系列| 久久99精品国产| 欧美激情一区二区三区全黄| 99久久免费精品| 亚洲成人动漫av| 日韩女优av电影在线观看| 韩国欧美一区二区| 国产精品热久久久久夜色精品三区| aaa亚洲精品一二三区| 亚洲自拍偷拍综合| 日韩情涩欧美日韩视频| 粉嫩av一区二区三区| 一区二区三区视频在线观看| 日韩欧美国产三级| 丁香桃色午夜亚洲一区二区三区| 亚洲你懂的在线视频| 欧美精品aⅴ在线视频| 国产一区欧美二区| 亚洲女与黑人做爰| 日韩手机在线导航| 成人av网站在线| 日本欧美韩国一区三区| 国产无人区一区二区三区| 欧美中文字幕久久| 久久精品国产一区二区三区免费看 | 国产无遮挡一区二区三区毛片日本| av福利精品导航| 日韩电影在线免费| 亚洲图片激情小说| 日韩欧美一区二区免费| 91色在线porny| 色婷婷国产精品| 久久黄色级2电影| 一区二区三区国产| 国产欧美日韩中文久久| 欧美日韩综合不卡| 成人免费福利片| 麻豆成人久久精品二区三区红 | 亚洲成人av电影在线| 久久精品夜夜夜夜久久| 欧美日韩一区二区三区四区| 高清不卡在线观看| 久久99九九99精品| 视频在线观看一区二区三区| 国产欧美日韩久久| 日韩精品一区二区三区中文精品| 91搞黄在线观看| 99精品视频中文字幕| 国产一区二区三区久久久| 日本成人在线电影网| 一区二区三区不卡在线观看 | 日韩精品一区二区三区三区免费 | 亚洲成人综合视频| 亚洲日本免费电影| 中文字幕视频一区| 欧美国产国产综合| 日本一二三四高清不卡| 久久精品一区蜜桃臀影院| 精品日韩一区二区| 欧美喷水一区二区| 欧美日韩一区小说| 欧美视频一二三区| 在线观看成人小视频| 在线观看中文字幕不卡| 色哦色哦哦色天天综合| 日本电影亚洲天堂一区| 91蝌蚪porny| 色8久久精品久久久久久蜜| 99精品视频一区二区三区| 91在线视频在线| 色哟哟精品一区| 欧美日韩一区二区三区四区 | 91精品国产欧美一区二区18 | 国产日韩欧美制服另类| 精品国产乱码久久久久久老虎| 精品少妇一区二区三区视频免付费| 日韩精品中文字幕在线不卡尤物| 欧美一级高清片| 久久综合九色综合久久久精品综合| 精品少妇一区二区三区免费观看| 精品成a人在线观看| 久久久电影一区二区三区| 国产喷白浆一区二区三区| 国产精品不卡在线观看| 亚洲激情av在线| 日韩1区2区日韩1区2区| 国内成人自拍视频| 成人精品免费网站| 欧美综合天天夜夜久久| 欧美一区日韩一区| 久久久www成人免费无遮挡大片| 久久精品夜色噜噜亚洲a∨| 日韩毛片一二三区| 天天综合天天综合色| 国产精品中文字幕日韩精品| 成人午夜视频网站| 欧美日韩国产系列| 久久久www免费人成精品| 伊人婷婷欧美激情| 久久99精品久久久久久久久久久久| 成人h动漫精品| 欧美日本一区二区| 国产精品麻豆99久久久久久| 亚洲午夜久久久| 国产精品99久久久久久有的能看| 色婷婷综合久久久久中文一区二区| 欧美群妇大交群的观看方式 | 不卡一区中文字幕| 欧美日韩一区三区四区| 久久久国产综合精品女国产盗摄| 亚洲免费观看高清在线观看| 国内久久婷婷综合| 欧美日韩综合不卡|