POP3

Email协议包括两部分,一部分是发送Email的协议,一般是smtp协议;另一部分是接收Email的协议,常见的有POP3协议和imap协议。现讨论接收Email的POP3协议

pop3状态转移图

一个例子:

C:telnet pop3.126.com 110   /* 以telnet方式连接126邮件服务器 */

S:+OK Welcome to coremail Mail Pop3 Server (126coms[3adb99eb4207ae5256632eecb8f
8b4855]) /* +OK,代表命令成功,其后的信息则随服务器的不同而不 */

C:USER bripengandre /* 采用明文认证 */

S:+OK core mail

C:PASS Pop3world /* 发送邮箱密码 */

S:+OK 654 message(s) [30930370 byte(s)] /* 认证成功,转入处理状态 */

C:LIST 1 /* 显示第一封邮件的信息 */

S:+OK 1 5184 ./* 第一封邮件的大小为5184 字节 */

C:UIDL 1 /* 返回第一封邮件的唯一标识符 */

S:+OK 1 1tbisBsHaEX9byI9EQAAsd /* 数字1 后的长字符串就是第一封邮件的唯一标志符 */

C:RETR 1 /* 下载第一封邮件 */

S:+OK 5184 octets /* 第一封邮件的大小为5184字节 */

S:Receive

…  /* 第一封邮件的具体内容 */

S:…

C:QUIT /* 转入更新状态,接着再转入认证状态 */

S:+OK

C: QUIT /* 退出连接 */

S:+OK core mail /* 成功地退出了连接 */

响应则由“+OK”或“-ERR”开头,后跟一些可读的说明和一些其它参数(对RETR,这个参数就是邮件的内容)


常用命令:

  • USER
    username 认可此命令与下面的pass命令若成功,将导致状态转换

  • PASS
    password 认可

  • APOP
    Name,Digest 认可 Digest是MD5消息摘要

  • STAT
    None 处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数

  • UIDL [Msg#] 处理返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的

  • LIST [Msg#]
    处理 返回邮件数量和每个邮件的大小

  • RETR [Msg#]
    处理 返回由参数标识的邮件的全部文本

  • DELE [Msg#]
    处理服务器将由参数标识的邮件标记为删除,由quit命令执行

  • RSET None
    处理服务器将重置所有标记为删除的邮件,用于撤消DELE命令

  • TOP [Msg#]
    处理服务器将返回由参数标识的邮件前n行内容,n必须是正整数

  • NOOP None
    处理 服务器返回一个肯定的响应

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.POP3简介:POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样...
    那根经痛了阅读 891评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • Python内置一个poplib模块,实现了POP3协议,可以直接用来收邮件。 注意到POP3协议收取的不是一个已...
    牛崽儿酷阅读 435评论 0 1
  • 转自:SMTP vs IMAP vs POP3 - Knowing The Difference 简单说下结论, ...
    IT_Matters阅读 2,758评论 0 1
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,810评论 0 10