用 Delphi 实现邮件附件收发功能
作者:郑长昌
摘要
介绍了在 delphi 7 中如何实现收发邮件功能,并且有收发附件,删除邮箱中已收邮件
的功能。这样能打造适合自己操作习惯的邮件管理工具。
关键词 Delphi 邮件收发 TIdPoP3 TIdSMTP
邮件与我们的工作生活息息相关,很多的信息传递都是通过邮件完成的。所以邮件对
我们来说很重要,虽然可以每次登录邮箱进行操作,但邮件资料总是要通过网站登录,而
且还要一个一个自己下载,这样操作在网速较慢时比较费力。现在有一些很邮件管理工具
如 FOXMAIL 等,这些工具功能相当完善了,但功能一多也就天花乱缀了,使用起来就不
怎么爽心悦目了,么那如果我们能自己打造一个适合自己需要的邮件管理工具是一个挺不
错的选择。
经过测试,用 DELPHI 中的 TIdPOP3 和 TIdSMTP 这两个组件完全能够对大部份邮件
服务器进行邮件收发操作。
TIdPOP3 组件简介
TIdPOP3 是用来接收邮件服务器的邮件信息到用户端的一个组件。它实现了 RFC 1939 协
议。
在使用 TIdPOP3 组件时需设置它的几个成员属性。
Host :指定邮件服务器,一般为 pop3 邮件服务器的地址,如 pop3.126.com。
Username :用户名,也就是邮箱名,如 billanking2002@126.com。
Password :邮箱密码,在进行收发邮件时组件需要凭密码进行登录。
其它成员属性
Connected:返回它与邮件服务器的连接状态,这 true 表示已经连接。
CheckMessages:邮件数,如果连接服务器成功,则可以获得服务器端的邮件数。
成员函数
procedure Connect(const ATimeout: Integer = IdTimeoutDefault);
与服务器连接函数。参数为无效连接时等待的毫秒数。
function RetrieveHeader(const MsgNum: Integer; AMsg: TIdMessage): Boolean;
接收邮件头信息,它有两个参数,MsgNum 表示在接收第几个邮件,从 1 开始,AMsg
为邮件消息组件实例。
function Retrieve(const MsgNum: Integer; AMsg: TIdMessage): Boolean;
接收邮件主体信息,它与 RetrieveHeader 的参数是一样的。接收的邮件内容将保存在
AMsg 中。
function Delete(const MsgNum: Integer): Boolean;
删除邮件服务器中第几个邮件。从 1 开始。
procedure Disconnect; override;
关闭连接。