如何使用Delphi编写邮件特快专递程序

如何使用Delphi编写邮件特快专递程序,第1张

如何使用Delphi编写邮件特快专递程序,第2张

“邮件快递”这个词现在已经被广大网友所熟知。就像网络上的EMS,可以直接把邮件发到对方邮箱。邮件发出后,对方可以立即收到。Foxmail在其最新的4.0版本中也加入了这一功能。作为一个编程爱好者,你是否也想知道如何编程实现这个功能?下面就和本文一起揭开“邮件快递”的神秘面纱:
一、实现原理。

在Outlook Express中,您可以通过查看电子邮件的属性来获取邮件头信息。我们拿一个不是快件的普通邮件来分析一下。下面是作者发来的一封邮件的标题信息:

收到:来自sm1.163.com([202.108.44.203])通过people mail . com . cn(JetMail 2 . 5 . 3 . 0)
,SMTP id JM 1 AC 3c 063 EEC;2001年11月29日星期四07:20:25-0000
收到:由sm1.163.com(后缀)从徐波(未知[61 . 154 . 94 . 146])
,ESMTP id 99 cf 11 c 461061
收到;2001年1 1月29日星期四15时12分49秒+0800(中央标准时间)
……


从表头信息可以看出,邮件投递的路线是从sm1.163.com→peoplemail.com.cn→徐波,其中徐波是我的机器,邮件通过sm1.163.com的中转站投递到目的地。我们通常所说的快件投递,就是将邮件不经过中转站,直接送到目的地。

我怎么知道目的地的地址?我们知道电子邮件地址由两部分组成:用户名和电子邮件域名(address.com)。我们可以通过向域名服务器发送“address.com”的MX指令查询来找到目的地址。可能会发现不止一个目的地。有时,这些目的地具有优先级,对应于邮件的优先级。你可以根据邮件的不同优先级来发送,也可以选择其中的任意一个。本文中的例子会选择反馈的第一个目的地来发送,读者可以根据实际需要进行改进。

二、使用的核心部件

本文将使用Indy控件集来编写域名查询和邮件发送程序。INDY的全称是Internet Direct(也叫Winshoes),是一个开源的、跨平台的、优秀的一套互联网控件。它支持大多数流行的互联网协议。Delphi 6已经包含了控件集。如果您使用的是以前版本的Delphi 6,请从Indy主页http://www.nevrona.com/Indy/Download.html.下载并安装控件集

第三,橱窗设计

在表单上放置三个TEdit组件、一个TMemo组件和四个Tlabel组件。使用的Indy组件有TIdDNSResolver、tid防冻剂、TIdSMTP和TIdMessage。其中TIdDNSResolver用于向域名服务器发送查询请求并得到结果,TIdMessage用于构建邮件,TIdSMTP用于发送邮件,tid防冻剂可以保证Indy的程序在工作时能够响应来自外界的消息(注:Indy同步工作,其他代码在读或写操作完成后才能执行,加入tid防冻剂通过调用应用程序响应来自外界的消息。ProcessMessage方法。)

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 如何使用Delphi编写邮件特快专递程序

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情