使用直接SMTP代替CDONTS来跟踪普通邮件

ZDNet软件频道 时间:2003-06-03 作者:ZDNet China |  我要评论()
本文关键词:
最近我碰到了这样一个情况:需要跟踪对源自本地的邮件的答复回邮。如果我们自动向用户发送邮件,而用户对某一封特定的邮件进行了回复,那我们怎样才能知道这个用户到底是对那一封进行的回复呢?
本文译自Builder.com,未经许可请勿转载在NT4和Windows 2000上安装IIS时,Collaboration Data Objects for Windows NT Server(CDONTS)组件会自动安装到系统上。它是一个用来发送普通邮件的很有用的工具,而没有SMTP:/ESMTP那样复杂。但是,有时候你也许希望对邮件和其标题进行更多地控制。

最近我碰到了这样一个情况:需要跟踪对源自本地的邮件的答复回邮。如果我们自动向用户发送邮件,而用户对某一封特定的邮件进行了回复,那我们怎样才能知道这个用户到底是对那一封进行的回复呢?

可以在邮件的主题或内容中插入一个标示符,但是用户可以清空这些区域。另一个可选择的办法是RFC 822,它会为Internet消息定义一个题头信息列表,包括MESSAGE-ID和IN-REPLY-TO。如果能够在MESSAGE-ID中提供源邮件的有用的信息,那么答复就会在IN-REPLY-TO标题中包含这个信息。最然如此,CDONTS却不让你修改这种题头信息。这意味着我们必须自己修改它。

一个修改这种标题信息的简单方法是通过直接SMTP。一个普通的SMTP session例子如下所示:

220 REMOTE.SERVER Simple Mail Transfer Service Ready

HELO LOCAL.SERVER

250 REMOTE.SERVER

MAIL FROM:johndoe@remote.server

250 OK

RCPT TO:janedoe@remote.server

250 OK

DATA

354 Start mail input; end with <CRLF>.<CRLF>

To: janedoe@remote.server

From: johndoe@remote.server

Message-ID: oicu812

这是消息的内容。

250 OK

QUIT

221 REMOTE.SERVER Service closing transmission channel


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134