zoukankan      html  css  js  c++  java
  • 如何从pop3邮箱中取出邮件

    昨天在http://www.asp.net上Control Gallery看到一个取邮件的东东,还开放源代码,进去一看,网站只是一个Demo,什么都没有得下载,那个气啊……

    (1) POP3命令由一个命令和一些参数组成。所有命令以一个CRLF对结束
    (2) 命令和参数由可打印的ASCII字符组成,它们之间由空格间隔 如user username(注意,连上去后,有时要大写USER,有时要小写user)
    (3) POP3响应由一个状态码("确定" ("+OK")和"失败" ("-ERR")) 和一个可能跟有附加信息的命令组成。所有响应也是由CRLF对结束
    (4) 如果有附加信息时,当所有信息发送结束时,发送最后一行,包括一个结束字符(十进制码46,也就是".")和一个CRLF对。 
    (5) 在POP3协议中有三种状态,认可状态,处理状态,和更新状态。
      当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出QUIT命令,则进入更新状态,更新之后最后重返认可状态。如下图

     等待连接        身份确认         QUIT命令
       ——  |认可|————— |处理|——————|更新|
               |__________________________________|
                      重返认可状态

    客户端可用命令列表

    客户可以发出的命令列表以及含义,源自ChinaUnix

     命令      参数        状态         描述
    ------------------------------------------------------------------------------------------------------------------------------
    USER            username    认可  此命令与下面的pass命令若成功,将导致状态转换
    PASS            password    认可     
    APOP            Name,Digest        认可  Digest是MD5消息摘要,windows系统多不支持
    ------------------------------------------ -----------------------------------------------------------------------------------
    STAT             None         处理         请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数
    UIDL             [Msg#]       处理         返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的
    LIST              [Msg#]         处理  返回邮件数量和每个邮件的大小
    RETR             [Msg#]         处理  返回由参数标识的邮件的全部文本
    DELE             [Msg#]         处理  服务器将由参数标识的邮件标记为删除,由quit命令执行
    RSET             None          处理  服务器将重置所有标记为删除的邮件,用于撤消DELE命令
    TOP                [Msg#]     处理  服务器将返回由参数标识的邮件前n行内容,n必须是正整数
    NOOP             None         处理      服务器返回一个肯定的响应
    ------------------------------------------------------------------------------------------------------------------------------
    QUIT                 None     更新 

    先打开telnet,输入open pop3.126.com 110进入126的服务器,试试上面的命令,建立对这些命令的初步认识。
    剩下的就是基本的网络编程了

       

  • 相关阅读:
    表达式for loop
    用户输入
    字符编码
    变量字符编码
    Python安装
    Python 2 or 3?
    Python解释器
    2017中国大学生程序设计竞赛
    Educational Round 27
    Round #429 (Div.2)
  • 原文地址:https://www.cnblogs.com/think/p/303179.html
Copyright © 2011-2022 走看看