Hi,MicroZeng
判断新邮件的问题是这样的,在接受的EMAIL 头文件里存放着来信人的地址
发信服务器和发信日期
您可以注意到头文件里的每一条信息都表示着不同的含义
判断是否是一封新邮件的关键是 发信人地址,发信时间序号这两项就可以了
至于如何判断区分是否是新信息的话
还要您在本地EMAIL 里做一个小的数据库程序来搜索
FOXMAIL就是这么做的(FOXMAIL使用的是DELPHI2写成),还有著名的离线
NEWS浏览器FORE AGENT也是这个原理,他们在本地都放有已收到过的EMAIL
的索引文件,连接到EMAIL SERVER后, 取下头来和本地EMAIL 列表的索引
文件做比较,看是否已经下载过此邮件,如果未下载过,当然就是新邮件了
你可以这样比较一下就知道了,把邮件程序的收到邮件后删除邮件选项去掉
先用第一个EMAIL 软件下载下来邮件,然后再启动第2个试验一下
那封邮件还会被下载,就说明了,每种EMAIL软件都是有自己的客户端的
认证机制。这与 SERVER是无关的
至于具体如何判断,在DELPHI3的DEMOS例子里有这样的一个例子程序
客户端收到EMAIL后,它的头文件如下,
Received: from public.fhnet.cn.net (ns.fhnet.cn.net [202.99.8.1])
for <hehe@tonghua.com.cn>; Sun, 8 Nov 1998 02: 38:09 +0800 (CST)
Received: from wanghs ([202.99.34.78])
for <hehe@tonghua.com.cn>; Sun, 8 Nov 1998 02: 30:19 +0800 (CST)
Message-Id: <199811071830.CAA09283@public.fhnet.cn.net>
//注意上面这一行,邮件发出日期,发出的邮件在发信服务器里的序列号码
//您可以根据上面的这段字符串在数据库里搜索,看是否有匹配记录
//如果已经存在了就是旧邮件了
Date: Sun, 8 Nov 1998 2:32:14 +0800
From: wang han song <wanghs@nease.net>
Reply-To: hehe@tonghua.com.cn
To: "hehe@tonghua.com.cn" <hehe@tonghua.com.cn>
Subject: hi
Organization: Dayu tech company
X-mailer: FoxMail 2.1 [cn]
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-UIDL: 3d12d3000acc380ec97e8ffb8b2fc119