用Delphi设计能携带附件的EMail
??????? 平時從來不使用Foxmail、Outlook這樣的的客戶端軟件的用戶,每次發郵件的時候都會小心翼翼地打開IE,擊開收藏夾,點擊某個網站的地址,然后填入用戶名、密碼,添加附件,等待ing…,發送失敗,回退到前頁,再次發送,等待ing…,直到發送成功。每次讓他們經歷這些動作不啻于一種折磨。用什么辦法能減輕他們的負擔呢?那就在你的程序中加入郵件發送功能吧,同時別忘了加上附件功能(附件功能在電子郵件中實在太有用了),讓你的用戶只要點擊一次就能搞定一切,為他們帶來一些輕松。
實現上面講的功能會不會很難呢?或許以前是這樣的,可是現在我們有了Delphi和Indy組件,開發的過程就會像是靜坐窗前,一邊欣賞窗外的景致,一邊品嘗著杯中的咖啡一般愜意而自然。現在就讓我們雙擊Delphi,開始這一段愉快之旅吧。
在Delphi的Form上,放置IdSMTP、IdMessage、OpenDialog三個主要的組件,這三個組件是這次郵件發送程序的核心組件,大部分功能都由它們來實現,其它還有一些Label、LabeledEdit和Memo組件,具體的布局如下圖所示:
(圖一)
本程序的實現思路是這樣的,郵件的發送功能由Indy組件來實現,(筆者注:這是一套十分著名的用來開發網絡程序的組件,從Delphi6開始,這套組件成為Delphi內置的組件,它的最新版本可以到http://www.nevrona.com/indy/上去下載),IdSMTP組件用來實現與郵件發送服務器(即SMTP服務器)的聯接與通信,而IdMessage組件則用來對郵件內容進行存儲和編碼。當郵件寫好后,數據被編碼并“填充”進IdMessage,然后通過IdSMTP與SMTP服務器進行聯接和通信。
郵件發送的主要代碼如下:
| procedure TMailerForm.btnSendMailClick(Sender: TObject); begin StatusMemo.Clear; //設置SMTP //設置郵件內容 MailMessage.Subject := ledSubject.Text; if FileExists(ledAttachment.Text) then //發送郵件 end; //添加附件代碼 |
郵件發送程序的應用十分的廣泛,隨著寬帶的普及,“時刻在線”成為了可能,為你的應用軟件加入郵件收發功能將為你的用戶帶來不少的方便。在軟件開發中更多的為用戶著想,才能使你的軟件真正受到大眾的歡迎!
轉載于:https://www.cnblogs.com/jimeper/archive/2005/12/26/305068.html
總結
以上是生活随笔為你收集整理的用Delphi设计能携带附件的EMail的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动生成GUID
- 下一篇: vs05b2中给dataset添加表间关