¡¡¡¡±¾ÎĽ«ÌÖÂÛ¿ª·¢ÈËÔ±ÀûÓÃPerlÌØ¶¨µÄÄÜÁ¦±àдPOP3µç×ÓÓʼþÓ¦ÓóÌÐò¡£
¡¡¡¡Ïñ΢ÈíµÄOutlookºÍMozillaµÄÀ×Äñ(Thunderbird)ÕâÑùµÄµç×ÓÓʼþ¿Í»§¶Ë³ÌÐòÄܹ»ÈÃÊÕ·¢µç×ÓÓʼþ±äµÃ¼«Æä¼òµ¥¡ª¡ª¾ø´ó¶àÊýʱºò£¬ÄãÐèÒª×öµÄÖ»²»¹ýÊǵã»÷һϹ¤¾ßÌõÉϵİ´Å¥£¬Èí¼þ»áΪÄãÍê³ÉÓëµç×ÓÓʼþ·þÎñÆ÷½øÐÐͨÐÅ¡¢ÑéÖ¤ÃÜÂë¡¢ÊÕÈ¡µç×ÓÓʼþµÈ¸´ÔӵŤ×÷¡£
¡¡¡¡µ«ÊÇÔÚÕâÖÖ¾ßÓÐÆÛÆÐԵļòµ¥±íÏ󱳺óÈ´Ç£Éæ´óÁ¿µÄÈí¼þ±à³Ì¹¤×÷¡£¶øÇÒ£¬Èç¹ûÄãÊÇÒ»¸öÈí¼þ¿ª·¢ÈËÔ±£¬Äã¿ÉÄÜÓÐÒ»Ìì»á·¢ÏÖÈç¹ûÄܹ»°ÑÕâÑùµÄ³ÌÐò·Åµ½×Ô¼ºµÄÓ¦ÓóÌÐò»áÓжàºÃ°¡¡£
¡¡¡¡²»Óõ£ÐÄÄÇô¶à£¬ÒòΪÈç¹ûÄãÔÚʹÓÃPerl£¬ÄÇôÄã¾Í¿ÉÒÔÀûÓÃÒ»¸ö½Ð×öNet::POP3µÄСCPANÄ£¿éÀ´ÊµÏÖÕâÒ»Ô¸Íû£¬Õâ¸öÊ®·ÖÓÐÓõÄÄ£¿é»áΪÄãÍê³É´ó¶àÊý¸´ÔӵŤ×÷¡£Õâ¸öÄ£¿éÏòPOP3·þÎñÆ÷µÄ½»»¥²Ù×÷¹«¿ªÒ»¸ö¼òµ¥µ«ÊǷdz£Ç¿´óµÄAPI£¬ÌṩһЩԤÉèµÄ·½·¨À´½øÐзþÎñÆ÷Éí·ÝÑéÖ¤¡¢ÏûÏ¢ÁбíºÍÊÕÈ¡¡¢ÏûϢɾ³ý£¬ÒÔ¼°½áÊø»á»°¡ª¡ª¼ò¶øÑÔÖ®£¬ËüÌṩÁËÂú×ãÓû§»ù±¾ÐèÒªµÄÒ»ÇС£
¡¡¡¡×¢£ºÁбíAµ½CÀïµÄ´úÂëÎı¾¿ÉÒÔ´Ó¿ÉÏÂÔØµÄZipÎļþÀï»ñµÃ¡£
¡¡¡¡±¾ÎĽ«Í¨¹ýʹÓÃNet::POP¿ª·¢Ò»¸ö¼òµ¥µÄPOP3µç×ÓÓʼþÓ¦ÓóÌÐòÀ´Ì½ÌÖËüµÄһЩ¹¦ÄÜ¡£Ò»¿ªÊ¼ÄãÐèÒªÔÚPerlÌáʾ·ûÏÂÔËÐÐÏÂÃæµÄÃüÁîÀ´ÏÂÔØºÍ°²×°Õâ¸öÄ£¿é(Èç¹ûÄ㻹ûÓеϰ)£º
¡¡¡¡perl> perl -MCPAN -e "install Net::POP3"
¡¡¡¡¿ªÊ¼´´½¨ÏÂÃæµÄPerl½Å±¾(ÁбíA)£º
¡¡¡¡ÁбíA
¡¡¡¡#!/bin/perl
¡¡¡¡# import package
¡¡¡¡use Net::POP3;
¡¡¡¡# ask user for critical variables
¡¡¡¡print "Mail host: ";
¡¡¡¡$host =
¡¡¡¡chomp($host);
¡¡¡¡print " ";
¡¡¡¡print "Mailbox username: ";
¡¡¡¡$user =
¡¡¡¡chomp($user);
¡¡¡¡print " ";
¡¡¡¡print "Mailbox password: ";
¡¡¡¡$pass =
¡¡¡¡chomp($pass);
¡¡¡¡# initiate connection
¡¡¡¡# default timeout = 120 sec
¡¡¡¡$conn = Net::POP3->new($host) or die("ERROR: Unable to connect. ");
¡¡¡¡# login
¡¡¡¡$numMsg = $conn->login($user, $pass) or die("ERROR: Unable to login. ");
¡¡¡¡# display number of messages
¡¡¡¡if ($numMsg > 0) {
¡¡¡¡print "Mailbox has $numMsg message(s). ";
¡¡¡¡} else {
¡¡¡¡print "Mailbox is empty. ";
¡¡¡¡}
¡¡¡¡# close connection
¡¡¡¡$conn->quit();
¡¡¡¡Õâ¸ö´úÂë¶Î»áÒªÇóÓû§ÊäÈëÈý¸öÄÚÈÝ£ºµç×ÓÓʼþ·þÎñÆ÷µÄÖ÷»úÃû¡¢POP3Óû§ÃûºÍÏàÓ¦µÄÃÜÂë¡£Ò»µ©ÊäÈëÁËÕâÈýÏîÄÚÈÝ£¬Ò»¸öеÄNet::POP3¶ÔÏó¾Í»á±»´´½¨£¬¶ø¶ÔÏóµÄlogin()·½·¨»á±»ÓÃÀ´´ò¿ªÒ»¸öµ½Ö÷»úµÄÁ¬½Ó£¬²¢ÑéÖ¤ËùÌṩµÄƾ¾Ý¡£Èç¹ûÌṩµÄƾ¾Ý±»·þÎñÆ÷ÈϿɣ¬ÄÇôlogin()·½·¨¾Í»á·µ»ØÓÊÏäÀïµÄÏûÏ¢ÊýÁ¿(»òÕß·µ»Ø0£¬Èç¹ûûÓÐÏûÏ¢µÄ»°)¡£
¡¡¡¡ÏÂÃæ¾ÍÊÇËüµÄÒ»¸öʵ¼ÊÀý×Ó£º
¡¡¡¡Mail host: pop.mailbox.com
¡¡¡¡Mailbox username: jane
¡¡¡¡Mailbox password: secret
¡¡¡¡Mailbox has 77 message(s).
¡¡¡¡µ±È»£¬½ö½öÖªµÀÏûÏ¢µÄÊýÁ¿ÊÇÔ¶Ô¶²»¹»µÄ¡ª¡ªÄã¿Ï¶¨Ï£ÍûÖªµÀÕâЩÏûÏ¢µÄÄÚÈÝ¡£Í¨¹ýNet::POP3µÄtop()·½·¨¾ÍÄܹ»´ïµ½Õâ¸öÄ¿µÄ£¬Ëü»áɨÃèÏûÏ¢µÄǰXÐУ¬²¢·µ»ØÒ»¸öÖ¸Ïòº¬ÓÐÒÑÊÕÈ¡Êý¾ÝµÄÊý×éµÄ²Î¿¼¡£ÏÂÃæ¾ÍÊÇÒ»¸öÀý×Ó£¬(ÁбíB)»áÈ¡»ØÓÊÏäÀïËùÓÐÏûÏ¢µÄǰ20ÐУº
¡¡¡¡ÁбíB
¡¡¡¡#!/bin/perl
¡¡¡¡# import package
¡¡¡¡use Net::POP3;
¡¡¡¡# ask user for critical variables
¡¡¡¡print "Mail host: ";
¡¡¡¡$host =
¡¡¡¡chomp($host);
¡¡¡¡print " ";
¡¡¡¡print "Mailbox username: ";
¡¡¡¡$user =
¡¡¡¡chomp($user);
¡¡¡¡print " ";
¡¡¡¡print "Mailbox password: ";
¡¡¡¡$pass =
¡¡¡¡chomp($pass);
¡¡¡¡# initiate connection
¡¡¡¡# default timeout = 120 sec
¡¡¡¡$conn = Net::POP3->new($host) or die("ERROR: Unable to connect. ");
¡¡¡¡# login
¡¡¡¡$numMsg = $conn->login($user, $pass) or die("ERROR: Unable to login. ");
¡¡¡¡# get message numbers
¡¡¡¡# iterate over list and print first 20 lines of each
¡¡¡¡if ($numMsg > 0) {
¡¡¡¡$msgList = $conn->list();
¡¡¡¡foreach $msg (keys(%$msgList)) {
¡¡¡¡$ref = $conn->top($msg, 20);
¡¡¡¡print @$ref;
¡¡¡¡print " ";
¡¡¡¡}
¡¡¡¡} else {
¡¡¡¡print "Mailbox is empty. ";
¡¡¡¡}
¡¡¡¡# close connection
¡¡¡¡$conn->quit();
¡¡¡¡Äã¿ÉÒÔʹÓÃget()·½·¨¶ø²»ÓÃtop()·½·¨£¬´Ó¶øÊÕÈ¡ÍêÕûµÄÏûÏ¢¡£
¡¡¡¡Èç¹ûÄãÏ£ÍûµÄ»°£¬Äã¿ÉÒÔÔÚÃüÁîÐÐͨ¹ýGetopt::LongÄ£¿é°Ñ·þÎñÆ÷µÄ²ÎÊý´«µÝ¸ø³ÌÐò£¬ÏÂÃæµÄÁбíCÏÔʾÁËÕâ¸öÄ£¿é£º
¡¡¡¡ÁбíC
¡¡¡¡#!/bin/perl
¡¡¡¡# import packages
¡¡¡¡use Net::POP3;
¡¡¡¡use Getopt::Long;
¡¡¡¡# read command line options
¡¡¡¡# display usage message in case of error
¡¡¡¡GetOptions ('h|host=s' => $host,
¡¡¡¡'u|user=s' => $user,
¡¡¡¡'p|pass=s' => $pass) or die("Input error. Try calling me with: -h
¡¡¡¡# initiate connection
¡¡¡¡# default timeout = 120 sec
¡¡¡¡$conn = Net::POP3->new($host) or die("ERROR: Unable to connect. ");
¡¡¡¡# login
¡¡¡¡$numMsg = $conn->login($user, $pass) or die("ERROR: Unable to login. ");
¡¡¡¡# get message numbers
¡¡¡¡# iterate over list and print first 20 lines of each
¡¡¡¡if ($numMsg > 0) {
¡¡¡¡$msgList = $conn->list();
¡¡¡¡foreach $msg (keys(%$msgList)) {
¡¡¡¡$ref = $conn->top($msg, 20);
¡¡¡¡print @$ref;
¡¡¡¡print " ";
¡¡¡¡}
¡¡¡¡} else {
¡¡¡¡print "Mailbox is empty. ";
¡¡¡¡}
¡¡¡¡# close connection
¡¡¡¡$conn->quit();
¡¡¡¡ÕâЩ´úÂëÄ£°å»á¸æËßÄãÈçºÎ°ÑNet::POP3¼¯³Éµ½ÐèÒª´¦Àíµç×ÓÓʼþµÄÓ¦ÓóÌÐòÀï¡£×Ô¼º¶¯ÊÖÊÔÊÔ°É£¬×£Äã±à³ÌÓä¿ì£¡
| ×ÔÓÉ¹ã¸æÇø |
| ¡¡ |