当前位置: 首页 > 图文教程 > 开发语言 > Delphi > 用Delphi设计能携带附件的EMail

Delphi
利用Delphi编写Socket通信程序
用Delphi设计“抢三十”游戏
对《QQ列表精灵》源代码分析和仿制
Delphi接口编程的两大陷阱
基于Delphi的组件设计之简单实例
基于Delphi的组件设计之概念
浅述Delphi下的OpenGL图形开发
深入理解Delphi的消息机制
Delphi处理SQL Server多媒体数据
Delphi中为RichEdit加入链接
用Delphi7设计FTP上传软件
利用Delphi编程控制摄像头
用Delphi实现快闪窗体信息提示
Delphi制作图形化的ComboBox
用Delphi设计能携带附件的EMail
Delphi中利用网页打造程序界面
Delphi控件的“拿来主义”
Delphi设计PhotoShop型弹出菜单
用Delphi获取Windows及系统路径
Delphi控制Excel自动生成报表

用Delphi设计能携带附件的EMail


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 64 ::
收藏到网摘: n/a

  实现上面讲的功能会不会很难呢?或许以前是这样的,可是现在我们有了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;

  邮件发送程序的应用十分的广泛,随着宽带的普及,“时刻在线”成为了可能,为你的应用软件加入邮件收发功能将为你的用户带来不少的方便。在软件开发中更多的为用户着想,才能使你的软件真正受到大众的欢迎!