|
±¾ÎĽ«Ïò´ó¼Ò½éÉÜÔõÑù±àд×Ô¼ºµÄÐÅÏä¼àÊÓ³ÌÐò³ÌÐò½«Ö±½Óµ÷ÓÃWinSockº¯ÊýÀ´½øÐÐÍøÂçͨÐÅ¡£³ýÁ˾߱¸WinSock±à³Ì֪ʶ֮Í⣬»¹±ØÐëÁ˽âPOP3ÐÒé¡£ÏÂÃæÊǶÔPOP3µÄÒ»¸ö´ÖÂԵĽéÉÜ£¬¶ÁÕß¿ÉÒԲο´RFC1225¸üΪÏêϸµØÁ˽â¸ÃÐÒé¡£
Ò»¡¢¹ØÓÚPOP3ÐÒé POP3·þÎñÆ÷³ÌÐòͨ³£ÔÚTCP¶Ë¿Ú110Ìṩ·þÎñ¡£µ±¿Í»§ÏëҪʹÓ÷þÎñʱ£¬Ëü±ãÓë·þÎñÆ÷½¨Á¢Ò»¸öTCPÁ¬½Ó¡£Ò»µ©Á¬½Ó½¨Á¢£¬POP3·þÎñÆ÷¾ÍÏò¿Í»§·¢ËÍÒ»Ìõ»¶ÓÏûÏ¢¡£È»ºó¿Í»§¿ªÊ¼¸ø·þÎñÆ÷·¢ËÍÃüÁ·þÎñÆ÷Ôò¸ø³öÏàÓ¦µÄ»Ø´ð¡£POP3µÄÃüÁîÓÉÒ»¸ö¹Ø¼ü´Ê»òÕ߹ؼü´Ê¼Ó²ÎÊý×é³É¡£Ã¿¸öÃüÁîÒԻسµ»»ÐУ¨0xD0xA£©×÷Ϊ½áÊø±êÖ¾¡£¶ÔÓÚËùÓеÄÃüÁPOP3·þÎñÆ÷¶¼»áÌṩһ¸ö»Ø´ð¡£·þÎñÆ÷µÄ»Ø´ðÓÉÒ»¸ö״̬±êÖ¾¼ÓһЩ¸½¼ÓÐÅÏ¢×é³É¡£Ä¿Ç°Ê¹ÓõÄÁ½¸ö±êÖ¾ÊÇ¡°£«OK¡±ºÍ¡°£ERR¡±£¬·Ö±ð±íʾ¿Í»§µÄÃüÁîÊÇ·ñºÏ·¨¡£ËùÓеĻشðÒ²ÊÇÒԻسµ»»ÐнáÊø¡£Óë±¾ÎÄÌÖÂ۵ϰÌâÏà¹ØµÄËĸöPOP3ÃüÁîÊÇUSER¡¢PASS¡¢LISTºÍQUIT¡£
USERÃüÁî ¸ñʽUSERname
ÆäÖÐnameÊÇÓû§ÔÚ¸ÃPOP3·þÎñÆ÷ÉϵÄÓû§±êʶ¡£¿Í»§Ó¦¸ÃÔÚ½Óµ½·þÎñÆ÷µÄ»¶ÓÏûÏ¢ºó»òÕßÔÚÉÏÒ»¸öUSER»òÕßPASSʧ°ÜÖ®ºó¿ÉÒÔ·¢ËÍ´ËÃüÁî¡£
PASSÃüÁî ¸ñʽPASSstring
ÆäÖÐstringΪ¸ÃÓû§µÄÃÜÂë¡£¿Í»§ÔÚ·¢ËÍÁËUSERÃüÁî²¢ÇÒÊÕµ½ÁË£«OKµÄ»Ø´ðÖ®ºó·½¿É·¢ËÍ´ËÃüÁî¡£Èç¹ûÓû§ÃûºÍÃÜÂë¶¼ÕýÈ·£¬·þÎñÆ÷»Ø´ð£«OK£¬·ñÔò£ERR¡£
LISTÃüÁî ¸ñʽLIST
Èç¹û¸ÃÓû§ÓÐÓʼþ£¬ÔòLISTÃüÁî»á»Ø´ð£«OK£¬²¢ÁгöËùÓÐÓʼþµÄ±êʶ·ûºÍ´óС£¨Ã¿¸öÓʼþÒ»ÐУ©£¬×îºóÒ»¸ö½ö°üº¬Ò»¸ö¾äµãµÄÐУ¨0xD0xA0x2E£©±íʾÕû¸ö»Ø´ðµÄ½áÊø¡£Èç¹û¸ÃÓû§Ã»ÓÐÓʼþ£¬ÓÐЩ·þÎñÆ÷»á·µ»Ø£ERR£¬ÓÐЩÔÚ¿ÉÄÜ·µ»ØÒ»¸ö£«OKºÍÒ»¸ö½ö°üº¬Ò»¸ö¾äµãµÄÐС£µ±È»£¬¿Í»§±ØÐëÔÚPASSÃüÁîͨ¹ýÖ®ºó¿Í»§³ÌÐò²ÅÄܸø·þÎñÆ÷·¢ËÍLISTÃüÁî¡£
QUITÃüÁî
´ÓPOP3·þÎñÆ÷ÉÏÍ˳öµÇ¼¡£
¶þ¡¢ÊµÏÖÏà¹Øº¯Êý ½ÓÏÂÀ´ÎÒÃǰ´ÕÕPOP3ÐÒéËù¶¨ÒåµÄͨÐŹæÔòÀ´ÊµÏÖÒ»¸öÃû½ÐPOP3CheckMailµÄº¯Êý£¬Ö»Òªµ÷Óô˺¯Êý£¬ÎÒÃǾͿÉÒÔ¼ì²âÐÅÏäÁË¡£ ÏÂÃæµÄ´úÂëÊÇÓÃÓëDelphi4¼æÈݵÄPascalÓïÑÔʵÏֵģ¬ÎÒÃDZØÐë°üº¬WinSockµ¥Ôª£¬²¢ÇÒÔÚµ÷ÓÃÏÂÁк¯Êý֮ǰ³õʼ»¯ºÃWinSock¶¯Ì¬Á¬½Ó¿â¡£³õʼ»¯WinSock¶¯Ì¬Á¬½Ó¿âµÄ´úÂëÈçÏ£º
ifWSAStartup(¡ç002,wsadata)<>0thenHalt;
POP3CheckMailµÄÔÐÍÈçÏ£º
functionPOP3CheckMail(Email,Password:String;varMailList:TStringList;varErrorMsg:String):Bool;
²ÎÊý˵Ã÷£º
EmailºÍPassword·Ö±ðΪÓû§µÄemailÐÅÏäÃûºÍ¿ÚÁî¡£
±äÁ¿²ÎÊýMailListÓÃÓÚ·µ»ØÓʼþµÄ±êʶºÍ´óС£¬MailList.Count±íʾÓʼþµÄ·âÊý¡£
±äÁ¿²ÎÊýErrorMsg·µ»Ø³ö´íÏ |