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

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

?? 編寫你的電子郵件軟件 (2000年7月25日).txt

?? delphi 編程技巧
?? TXT
字號:
編寫你的電子郵件軟件 (2000年7月25日) 

本站更新  分類:   作者:中國程序員網站  推薦:   閱讀次數:820  
(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一区二区三区免费野_久草精品视频
制服丝袜亚洲播放| 在线中文字幕一区| 视频一区视频二区在线观看| 国产精品成人免费在线| 久久久久综合网| 精品国产免费久久| 久久蜜桃一区二区| 国产拍欧美日韩视频二区| 精品久久久久一区| 国产亚洲成av人在线观看导航| 日韩丝袜美女视频| 欧美www视频| 国产亚洲欧洲997久久综合| 欧美经典三级视频一区二区三区| 欧美精品一区二区三区在线| 久久久综合激的五月天| 国产精品免费观看视频| 亚洲人午夜精品天堂一二香蕉| 亚洲精品高清在线观看| 天天综合天天做天天综合| 日本91福利区| 成人免费的视频| 在线视频国内一区二区| 91精品国产aⅴ一区二区| 精品区一区二区| 一区在线观看视频| 亚洲超碰精品一区二区| 精品一二线国产| 色婷婷久久综合| 日韩女优av电影| 中文字幕亚洲不卡| 日韩av在线发布| 成人午夜在线播放| 777午夜精品视频在线播放| 久久免费美女视频| 亚洲一区二区三区爽爽爽爽爽| 久久不见久久见免费视频7| 9人人澡人人爽人人精品| 欧美三级中文字| 欧美韩国日本不卡| 天堂影院一区二区| www.视频一区| 久久综合色8888| 亚洲国产精品久久久久秋霞影院| 国产高清精品久久久久| 欧美视频日韩视频| 国产精品久久777777| 蜜桃视频在线观看一区| 在线观看成人免费视频| 国产午夜精品在线观看| 日韩精品国产精品| 日本精品视频一区二区三区| 久久久91精品国产一区二区三区| 香蕉av福利精品导航| 成人aa视频在线观看| 国产欧美精品一区| 日韩av电影免费观看高清完整版| 波多野结衣一区二区三区| 欧美mv日韩mv国产网站app| 亚洲福利视频三区| 91久久香蕉国产日韩欧美9色| 久久亚洲欧美国产精品乐播 | 久久这里只有精品首页| 亚洲一区二区三区在线看| 国产精品12区| 337p日本欧洲亚洲大胆色噜噜| 午夜精品在线看| 精品婷婷伊人一区三区三| 亚洲女女做受ⅹxx高潮| 成人av影视在线观看| 国产色产综合色产在线视频| 久久精品国产亚洲高清剧情介绍| 欧美日韩一区二区三区在线看 | 欧美精品久久一区| 一区二区三区在线观看欧美| eeuss国产一区二区三区| 国产精品国产三级国产普通话三级 | 尤物在线观看一区| 波多野结衣亚洲一区| 中文字幕在线不卡一区| 99视频一区二区| 亚洲免费电影在线| 91福利精品第一导航| 亚洲最大色网站| 欧美在线观看18| 婷婷丁香激情综合| 日韩午夜av一区| 极品美女销魂一区二区三区 | ●精品国产综合乱码久久久久| 成人中文字幕电影| 中文字幕在线一区免费| www.一区二区| 亚洲国产视频网站| 日韩精品一区国产麻豆| 国产一区二区中文字幕| 国产精品毛片a∨一区二区三区| 99久久国产综合精品色伊| 一区二区三区日韩欧美| 欧美一区二区三区四区久久| 久久er99精品| 中文字幕视频一区二区三区久| 色久优优欧美色久优优| 蜜臀a∨国产成人精品| 久久精品亚洲一区二区三区浴池| 99久久婷婷国产精品综合| 亚洲电影视频在线| 久久青草欧美一区二区三区| 91丨九色丨蝌蚪丨老版| 日韩va欧美va亚洲va久久| 国产欧美日韩另类视频免费观看| 色婷婷av一区二区三区大白胸| 日本成人中文字幕| 亚洲图片激情小说| 日韩欧美久久久| 色呦呦日韩精品| 国产一区二区精品久久| 亚洲自拍另类综合| 日本一区二区视频在线观看| 欧美视频一区二区在线观看| 国产成人超碰人人澡人人澡| 一级日本不卡的影视| 久久亚洲综合色一区二区三区 | 91精品在线免费观看| 成人不卡免费av| 免费观看30秒视频久久| 亚洲乱码国产乱码精品精98午夜| 精品国产免费人成在线观看| 欧美午夜精品一区二区蜜桃| 国产成人在线视频网址| 日韩电影在线观看网站| 亚洲乱码国产乱码精品精可以看| 久久久影院官网| 精品精品国产高清a毛片牛牛| 欧美色图免费看| 91在线播放网址| 国产成人av电影免费在线观看| 日本中文字幕一区| 亚洲综合色视频| 亚洲男女毛片无遮挡| 国产精品丝袜91| 国产欧美日韩精品a在线观看| 91精品国产乱| 欧美挠脚心视频网站| 欧美性色综合网| 99精品1区2区| 成人激情视频网站| 国产麻豆一精品一av一免费| 久久激情五月婷婷| 热久久久久久久| 日韩av在线免费观看不卡| 午夜精品在线看| 日韩精品亚洲专区| 天天做天天摸天天爽国产一区| 午夜激情一区二区三区| 一区二区欧美国产| 亚洲成人一二三| 天天影视色香欲综合网老头| 天天色天天爱天天射综合| 亚洲高清免费一级二级三级| 丝袜美腿高跟呻吟高潮一区| 午夜精品久久久久久久久久| 图片区日韩欧美亚洲| 天天操天天色综合| 开心九九激情九九欧美日韩精美视频电影 | 成人免费看片app下载| 成人免费观看av| 色诱视频网站一区| 欧美精品丝袜中出| 日韩精品一区二区三区swag | 亚洲精品视频免费看| 樱桃视频在线观看一区| 午夜精品久久久久久久久久久| 日韩精彩视频在线观看| 国产在线不卡视频| 成人激情动漫在线观看| 日本道免费精品一区二区三区| 欧美性受xxxx黑人xyx| 欧美成人女星排名| 国产午夜精品久久久久久免费视| 亚洲国产激情av| 亚洲欧美日韩在线| 日韩av在线免费观看不卡| 国产精品一区二区果冻传媒| 99国产精品一区| 欧美夫妻性生活| 亚洲国产精品成人综合 | 麻豆精品一区二区三区| 国产成人av福利| 欧美视频在线观看一区| 日韩精品一区二区三区中文不卡 | 午夜av一区二区| 国产尤物一区二区在线| av成人免费在线| 日韩欧美一区二区免费| 中文字幕五月欧美| 美腿丝袜亚洲综合| 欧美影片第一页| 国产亚洲一二三区| 蜜桃一区二区三区在线观看| 99re这里只有精品首页|