程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 用Delphi設計能攜帶附件的EMail

用Delphi設計能攜帶附件的EMail

編輯:Delphi

平時從來不使用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
  SMTP.Host := ledHost.Text; //具體使用的SMTP,可以到你申請的郵箱所在的網站中去找
  SMTP.Port := 25;
//設置郵件內容
  MailMessage.From.Address := ledFrom.Text;
  MailMessage.Recipients.EMailAddresses := ledTo.Text + ',' + ledCC.Text;
MailMessage.Subject := ledSubject.Text;
  MailMessage.Body.Text := Body.Text;
if FileExists(ledAttachment.Text) then
   TIdAttachment.Create(MailMessage.MessageParts,
   ledAttachment.Text);
//發送郵件
   try
    try
     SMTP.Connect(1000);
     SMTP.Send(MailMessage);
    except on E:Exception do
     StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
    end;
   finally
    if SMTP.Connected then
    SMTP.Disconnect;
  end;
end;
//添加附件代碼
procedure TMailerForm.btnAttachmentClick(Sender: TObject);
begin
  if AttachmentDialog.Execute then
   ledAttachment.Text := AttachmentDialog.FileName;
end;

郵件發送程序的應用十分的廣泛,隨著寬帶的普及,“時刻在線”成為了可能,為你的應用軟件加入郵件收發功能將為你的用戶帶來不少的方便。在軟件開發中更多的為用戶著想,才能使你的軟件真正受到大眾的歡迎!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved