Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16496871
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:50:46

下载本文示例代码
  平时从来不使用Foxmail、Outlook这样的的客户端软件的用户,每次发邮件的时候都会小心翼翼地打开IE,击开收藏夹,点击某个网站的地址,然后填入用户名、密码,添加附件,等待ing…,发送失败,回退到前页,再次发送,等待ing…,直到发送成功。每次让他们经历这些动作不啻于一种折磨。用什么办法能减轻他们的负担呢?那就在你的程序中加入邮件发送功能吧,同时别忘了加上附件功能(附件功能在电子邮件中实在太有用了),让你的用户只要点击一次就能搞定一切,为他们带来一些轻松。  实现上面讲的功能会不会很难呢?或许以前是这样的,可是现在我们有了Delphi和Indy组件,开发的过程就会像是静坐窗前,一边欣赏窗外的景致,一边品尝着杯中的咖啡一般惬意而自然。现在就让我们双击Delphi,开始这一段愉快之旅吧。  在Delphi的Form上,放置IdSMTP、IdMessage、OpenDialog三个主要的组件,这三个组件是这次邮件发送程序的核心组件,大部分功能都由它们来实现,其它还有一些Label、LabeledEdit和Memo组件,具体的布局如下图所示: (图一)  本程序的实现思路是这样的,邮件的发送功能由Indy组件来实现,(笔者注:这是一套十分著名的用来开发网络程序的组件,从Delphi6开始,这套组件成为Delphi内置的组件,它的最新版本可以到上去下载),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;   邮件发送程序的应用十分的广泛,随着宽带的普及,“时刻在线”成为了可能,为你的应用软件加入邮件收发功能将为你的用户带来不少的方便。在软件开发中更多的为用户着想,才能使你的软件真正受到大众的欢迎!zmbbs=1;   平时从来不使用Foxmail、Outlook这样的的客户端软件的用户,每次发邮件的时候都会小心翼翼地打开IE,击开收藏夹,点击某个网站的地址,然后填入用户名、密码,添加附件,等待ing…,发送失败,回退到前页,再次发送,等待ing…,直到发送成功。每次让他们经历这些动作不啻于一种折磨。用什么办法能减轻他们的负担呢?那就在你的程序中加入邮件发送功能吧,同时别忘了加上附件功能(附件功能在电子邮件中实在太有用了),让你的用户只要点击一次就能搞定一切,为他们带来一些轻松。  实现上面讲的功能会不会很难呢?或许以前是这样的,可是现在我们有了Delphi和Indy组件,开发的过程就会像是静坐窗前,一边欣赏窗外的景致,一边品尝着杯中的咖啡一般惬意而自然。现在就让我们双击Delphi,开始这一段愉快之旅吧。  在Delphi的Form上,放置IdSMTP、IdMessage、OpenDialog三个主要的组件,这三个组件是这次邮件发送程序的核心组件,大部分功能都由它们来实现,其它还有一些Label、LabeledEdit和Memo组件,具体的布局如下图所示: (图一)  本程序的实现思路是这样的,邮件的发送功能由Indy组件来实现,(笔者注:这是一套十分著名的用来开发网络程序的组件,从Delphi6开始,这套组件成为Delphi内置的组件,它的最新版本可以到上去下载),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;   邮件发送程序的应用十分的广泛,随着宽带的普及,“时刻在线”成为了可能,为你的应用软件加入邮件收发功能将为你的用户带来不少的方便。在软件开发中更多的为用户着想,才能使你的软件真正受到大众的欢迎!zmbbs=1; 下载本文示例代码


用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail用Delphi设计能携带附件的EMail
阅读(142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~