2024年3月9日发(作者:)
维普资讯
第23卷
28
・
第2期
脑2
计算机工程
2002年2月
February 2002
Computer Engineering
开发研究与设计技术 文章编号:1ooo— 28 帅2102—0284—02 文t}呆识码:A 中围分类号:TP393.098
由Delphi实现局域网的自动定时发送邮件
李甓军,冯珊
(华中科技大学系统工程研究所,武汉430074)
擅要:介绍如何用软件开发工具Delphi与邮件服务 ̄Exchange5 5进行通信,从而实现手工和自动定时向指定信箱发送邮件的功能。
*翻:Exchange5 5;Delphi;TNMSmtp
Sending Mail Automaticauy in LAN Using Delphi
Ll un FE—G Shah
(InstituteofSystem EmRineering,HnazhongUeivers畸ofScience and Technology,Wuhan 43o074
[Ahstract]Thepaperintroduces howto commanicat ̄with Exchange 5.5whichworks_s amail server#adto sendmail automaticallyin
LAN口“_g Delphi.
IXey words]Exchange5.5;Delphi;TNMSmlp
随着计算机自 应用逐渐普遍,越来越多的单位实现了部
门工作滴程的计算机化。在日常的系统运行过程中,监视系
统的运行状况成了系统管理员的一项不可或缺的工作。通常
的做法是由人工处理系统的监视日志,定期将日志文件发送
给指定的系统维护^员或是软件开发人员。本文讨论如何在
Delphi中通过同邮件服务器Exchange5.5的信息交互,将系统
日志文件作为附件,由系统管理员手工或自动定时向邮箱发
送邮件,阻提高办公效率。
Exchange S ̄fver的目录机制为翁们管理Ex曲ange Server
的内部对象提供了一致的层捩结构。其中包括Exchange
Server组织(Organization)、站点(site)和服务器(scf_ver)的所有
配置信息,目录也包含了地址簿信息。利用目录服务,管理
员可以查找到所有的邮箱信息。
( 消息传输代理
MTA; ̄ExehangeServer中消 鼠流动的基础。它既对站点
内部的服务器传输消息,同时也为其他站点的服务器传输消
息a tvrrA, ̄为Exchange S6.rv ̄.的内部销患传递机制,它提供
了很强的控制功能,比如管理员可以控制消息的大小、消息
传送的路由表等。
(4)系统助理
系统助理是个辅助性的服务,但是Exchange Server的许
l Exchange5.5简介
Micms Exchange是一个基于电子邮件的群件系统,
是一十客户/服务器结构的、集成式系统监控和管理的电子
信息交换系统。这十系统提供培组织集成的电子邮件、计划
调度、文档共享、电子表单和定制应用程序。它的服务器端
运行于Windows NT/2(i ̄Server,并与之紧密集成,具有一
致的安全模型,多台Excl1angc曝务器可协同工作,并支持广
泛的客户平台,如DOs、windows9X/NT/20OO,Macintosh
等,在功能上,Exchange超越了传统的电子邮件系统,能更
方便地收发电子邮件、进行小组讨论、访问公告栏等等,能
更方便有效地管理和堆护系统,并与Weh紧密榴联,
E)cch 与IlS相辅相成,是建设全面的企业级新型阿络或
I腑 ld的基础之一。
多工作由它来完成,列举如下:
当管理员添加新邮箱时,系统助理会产生与邮籍有关
一
的昏幕地址和E-mai1地址。
・
MrA传翰消息时可能会用到系统助理来解析收件人
地址,或者把目录中的分发表(Distrih. ̄tion List)展开成一组
收件人地址。
・
・
检查目录复翩的一致性。
保存和管理邮箱的数字签名和加密信息。
Echaxnge Server作为一个消息系统平台,包含一系列与
消息有关的服务,Exchange S ̄rvcc的核心包括4十系统服
务:信息存储服务、目录服务、消息传精代理和系统助理服
务,当我们在服务器上安装了Exchange Server2.后,这些服
务会自动被启动。以后客户连接到Exchang ̄Server时,这些
服务协同完成客户的请求。其功能分别如下:
(1)信息存储服务
它提供对消息数据库的存储和读取访问,Exchange
Sefvff'的信息存储分为公共信息存储和鞋有信息存储。公共
信息存储包含所有的公共文件央信息,私有信息存储包含当
前服务器上的所有用户的邮箱信息。
(2)目录服务
一
2使用DeIph滨现邮件发送
(1)TNMSmtp. ̄件简介
在Delphi中提供了 ̄l"NMSmtp,为用户提供了外部编
程的接口从而实现对邮件的发送。
下面简要介绍一下这十控件的常见属性、方j击和事件:
I)属性
host:要连接的邮件服务器
作者倚介:李铁军(1978~),男,在职礤士生、助教,研究方向:
智能决策支持系统(IDSS)、分布式信息系统、盘业ERP、电子商
务等;冯珊,教授、博导
收藕日期:2001・05一l8
284一
维普资讯
p :邮件服务使用的端口号
PostMessage:要发送的信息,其中:
Attachments:发送邮件的附件
Body:发送邮件的正文
FromAddresS:发送邮件的发件人
ToAddress:发送邮件的收件人
Subject:发送邮件的主题
2)事件
SMTP ServerConnect:当控件尝试和邮件服务器连接
时触发
SMTP ServerConnecifonFailed:当连接邮件服务器失
败时触发
SMTP ServerlnvalidHo*t::当邮件服务器不存在时触发
SMTP ServerAttachmentNotFotmd:当要发送的附件没
有找到时触发
SMTP ServerDisconnect:当与邮件服务器断开连接时
触发
SMTP ServerFailure:当邮件发送失败时触发
SMTP Serve*Success:当邮件发送成功时触发
SMTP ServerRec ientNotFound:当收件人没有找到时
触发
3)方法
connect:与邮件服务器连接
disconnect:与邮件服务器断开连接
sondmail:发送指定邮件
(2)实现对邮件的发送
系统首先莆要3 ̄Exchange邮件服务器建立连接,然后填 -
入要发送邮件的发件人、收件人、主题、正文和附件。单击
按钮“发送flee”,则将邮件发送至收件人邮箱内。若还需
要定时发送,则单击按钮“开始定时 ,则每隔l0分钟系统
会自动将指定的邮件发送至收件人邮箱内。如图l所示。
瞄1局壤阿内曲捧件发送
下面主要介绍发送邮件部分的代码:
procedure Tfrmmal1.Bln
__
MailC]icHSender:TObjee0;
Ⅲ
lvs-Subjeel,kks-Body:String;
i:integer;
begin
try
osFromAdd:=ed sendmail.text;
0sToAdd:=ed代ceiv ̄add.Text:
osAttachNline:=ed artach.Text:
vis-su bjcct: ed_su埘ect.Text
ri_-Otom detaiLLines.Count-1 do
vis-body:=ivs ̄d什re
_
detail.Lines.Stringslil;
,osToAd d'lvs-Subject,vis_Body
osAttachNam ̄);
Except
m
_
e ̄or.Line.Add{TimeToStt ̄Time)+’不镌连接邮件最务
} 发送邮件中簟 ’);
end;
end;
procedure T ̄m
_
mail.uSendMai!(IvsJ[on,IvsJo,Ivs
_
Sobject,
lvs-B ̄y,vis
_
Attach:Strlng);
begin
Smtp Server.Clearhrameters;
SMtpServer.PmtMemag ̄FromAddress: IvsFrom:
__
Smtp Server.PostMessage.Su bjeet:=Ivs_Sub批ct;
Smtp Server.PostMessage.ToAddress.Clear;
Smtp
_
Server.PmtMessage.ToAddress.Add(IvLT0】;
ifivs
attaeh o”then
_
Sm ̄p
_
Server.PostMemage.Attachmelts.Addnvs
_
Attach);
SmtpServer.PostMessage.Body.Clear;
_
Smtp
_
S ̄rver.PostMessag ̄oBody.Add(Ivs
_
Body);
try
Smtp Server.esndMail;
Except
m
_
error.Lines.Add(TimeToStr(Time)+ 不能连接 件鼍务
} 发送 件中毒 ’);
ServerConneet Fjt ̄e;
end;
end;
在这个实例中,系统连接的Exchan窖e邮件服务器地址是
j 92.168.I.3,发件人和收件人的邮箱均)jt'o:55@192.168 l 3.
在填写好邮件主题和内容之后.单击按钮“选择附件”.会
打开标准Windows窗口让用户选择需要发送的附件。确定无
误 后,单击按钮“发送邮件”后.系统调用过程
uSendMail对用户输入的邮件各个部分进行处理.并发送至
收件人。发送过程中如果出现错误,系统会自动将错误信息
保留下来供用户查看。
3结束语
通过使用此软件,用户可耻将日常维护工作所产生的系
统日志文件作为邮件的附件手工或自动定时发送蛤指定收件
人.可 减少系统管理人员在日志处理中的工作量,进而提
高系统的运行效率。
参考文藏
1 Microsoft希望图书创作宣译Microsoft Exchange Server 5.0棱心
技术北京:科学出版社.1998
2 Teixeira s Dclphi5开发^员指南北京:机械工业出版社、2000
285—


发布评论