这一文章讲述的内容涉及到Net::POP3 和Net::SMTP模块。如果你没有安装这两个模块,请到最近的CPAN下载并安装它们。
系统的功能非常的简单(可参见表A)。配置部分定义了要操作的各个参数。通过这些参数的配置,你可以最大限度地减少重要配置参数的丢失。参数配置信息也会让你得到抽象地思考。
第一步,首先生成或打开一个日志文件并把它作为一个缺省的输出文件。这就意味着我们所有输出不会显示在屏幕上而传入日志文件。如果想在屏幕上显示出来,你必须使用STDERR句柄。如果你只想在日志文件中保存最后一次操作的信息,只要把>>改变为>就可以。
接着,我们打开并读取一个别名文件。可以先看看下一个部分,“使用别名”,你就知道别名为何物,并知道如何使用它们。
最后一步是处理在POPACCTS数组中每一个邮件的数量。这个数组保存了服务器,用户名字,以及要处理的每一个邮件的密码。如果要获取数组的实际数据,我们必须访问每一个数组数据。实质上,POPACCTS是一个指向匿名数组的指针数组,其中的每一个匿名数组都包含三个元素:一个服务器,一个用户ID,一个密码。
最后一步就是返回一个标准输出句柄并关闭日志文件。
实际上邮件的内部处理是通过CheckMailbox()函数来实现的,也就是程序的核心。CheckMailbox()打开了与POP服务器连接,操作,并返回等待信息的数量。程序中的代码则读取每一个等待信息并处理查找from和subject的头句柄。
一旦这一头句柄被处理,代码就执行信息的主要部分。这一段代码也不会多于20行。