用perl编写读取pop3邮箱的应用程序

用perl编写读取pop3邮箱的应用程序

ID:10437403

大小:58.50 KB

页数:4页

时间:2018-07-06

用perl编写读取pop3邮箱的应用程序_第1页
用perl编写读取pop3邮箱的应用程序_第2页
用perl编写读取pop3邮箱的应用程序_第3页
用perl编写读取pop3邮箱的应用程序_第4页
资源描述:

《用perl编写读取pop3邮箱的应用程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用Perl编写读取POP3邮箱的应用程序  本文将讨论开发人员利用Perl特定的能力编写POP3电子邮件应用程序。  像微软的Outlook和Mozilla的雷鸟(Thunderbird)这样的电子邮件客户端程序能够让收发电子邮件变得极其简单绝大多数时候,你需要做的只不过是点击一下工具条上的按钮,软件会为你完成与电子邮件服务器进行通信、验证密码、收取电子邮件等复杂的工作。  但是在这种具有欺骗性的简单表象背后却牵涉大量的软件编程工作。而且,如果你是一个软件开发人员,你可能有一天会发现如果能够把这样的程序放到自己的应用程序会有多好啊。  不用担心那么多,因为如

2、果你在使用Perl,那么你就可以利用一个叫做Net::POP3的小CPAN模块来实现这一愿望,这个十分有用的模块会为你完成大多数复杂的工作。这个模块向POP3服务器的交互操作公开一个简单但是非常强大的API,提供一些预设的方法来进行服务器身份验证、消息列表和收取、消息删除,以及结束会话简而言之,它提供了满足用户基本需要的一切。  注:列表A到C里的代码文本可以从可下载的Zip文件里获得。  本文将通过使用Net::POP开发一个简单的POP3电子邮件应用程序来探讨它的一些功能。一开始你需要在Perl提示符下运行下面的命令来下载和安装这个模块(如果你还没有的话

3、):  perl>perl-MCPAN-einstallNet::POP3  开始创建下面的Perl脚本(列表A):  列表A#!/bin/perl#importpackageuseNet::POP3;#askuserforcriticalvariablesprintMailhost:;$host=<STDIN>;chomp($host);print;printMailboxusername:;$user=<STDIN>;chomp($user);print;printMailboxpassp($pass);#initiatec

4、onnection#defaulttimeout=120sec$conn=Net::POP3->neMsg=$conn->login($user,$pass)ordie(ERROR:Unabletologin.);#displaynumberofmessagesif($numMsg>0){  printMailboxhas$numMsgmessage(s).;}else{  printMailboxisempty.;}#closeconnection$conn->quit();  这个代码段会要求用户输入三个内容:电子邮件服务器的主机

5、名、POP3用户名和相应的密码。一旦输入了这三项内容,一个新的Net::POP3对象就会被创建,而对象的login()方法会被用来打开一个到主机的连接,并验证所提供的凭据。如果提供的凭据被服务器认可,那么login()方法就会返回邮箱里的消息数量(或者返回0,如果没有消息的话)。  下面就是它的一个实际例子:Mailhost:pop.mailbox.Mailboxusername:janeMailboxpassessage(s).  当然,仅仅知道消息的数量是远远不够的你肯定希望知道这些消息的内容。通过Net::POP3的top()方法就能够达到这个目的,它

6、会扫描消息的前X行,并返回一个指向含有已收取数据的数组的参考。下面就是一个例子,(列表B)会取回邮箱里所有消息的前20行:  列表B#!/bin/perl#importpackageuseNet::POP3;#askuserforcriticalvariablesprintMailhost:;$host=<STDIN>;chomp($host);print;printMailboxusername:;$user=<STDIN>;chomp($user);print;printMailboxpassp($pass);#initiatec

7、onnection#defaulttimeout=120sec$conn=Net::POP3->neMsg=$conn->login($user,$pass)ordie(ERROR:Unabletologin.);#getmessagenumbers#iterateoverlistandprintfirst20linesofeachif($numMsg>0){  $msgList=$conn->list();  foreach$12下一页....,。msg(keys(%$msgList)){    $ref=$conn->top

8、($msg,20);    print$ref;  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。