用Delphi设计能携带附件的EMail

九哥演绎人生

九哥演绎人生

2016-01-29 14:24

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)

 //设置邮件内容
 MailMessage.From.Address := ledFrom.Text;
 MailMessage.Recipients.EMailAddresses := ledTo.Text + , + ledCC.Text;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)

 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;

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


展开更多 50%)
分享

猜你喜欢

用Delphi设计能携带附件的EMail

Delphi
用Delphi设计能携带附件的EMail

用JavaMail发送带附件的Email

编程语言 网络编程
用JavaMail发送带附件的Email

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用php发送带附件的Email

PHP
用php发送带附件的Email

用ASP实现支持附件的EMail系统

ASP
用ASP实现支持附件的EMail系统

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用VB设计有安全认证服务的Email

vb
用VB设计有安全认证服务的Email

Delphi7.0实现添加记录的“携带”实现

Delphi
Delphi7.0实现添加记录的“携带”实现

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

你想成Delphi高手吗?快来学Delphi快捷键

你想成Delphi高手吗?快来学Delphi快捷键

信用卡效验程序

信用卡效验程序
下拉加载更多内容 ↓