用户接收邮件是通过该POP3 协议完成的
POP3通信方式与SMTP一样
使用标准命令与服务器进行数据交换
POP3协议还规定标准端口为110号端口
命令如表
命令 | 意义 |
---|---|
QUIT | 终止与服务器会话 |
STAT | 提供信箱大小 |
LIST | 获取邮件大小 |
USER | 客户端发送账号信息到服务器验证 |
PASS | 客户端发送密码信息到服务器验证 |
TOP | 取出第M封邮件信头和邮件内容的前N行 |
DELE | 删除第N封邮件 |
REST | 复位POP3会话 |
RETR | 取出第N封邮件 |
对其中的命令进行详解
命令QUIT的作用是终止与服务器的会话连接 格式如下
QUIT
该命令如果发送到服务器执行成功
服务器则会返回OK
表示服务器同意客户端退出对话
命令STAT的作用是请求服务器信箱的大小信息
命令LIST可以获取指定邮件的大小信息
如果不带任何命令参数
则服务器会返回所有邮件的大小
如果不带任何命令参数 则服务器返回所有邮件的大小
格式如下
LIST //客户端发送命令LIST
1 1024 //表示第一封邮件的大小
2 2048 //表示第二封邮件的大小
...
命令USER将标识客户端发送的账号信箱
USER lymlrl
命令PASS将标识客户端发送的密码信息
PASS lwlwlw
命令TOP表示将取出指定邮件的信头和其邮件内容的前N行
如
用户需要取出第1封前两行内容
则发送TOP命令到服务器
CString str("TOP 1 2\r\n"); //构造命令字符串
send(s,str.GetBuffer(1),sizeof(str),0); //发送命令到服务器
命令DELE表示邮件进行删除操作
用户删除第N封邮件
DELE N
命令REST的作用是对POP3会话过程进行复位
命令RETR 的作用是取出第N封邮件
例如 用户需要取出第N封邮件 格式如下
RETR N
当客户端发送该命令后
服务器会返回请求以及的全部内容
如果服务器成功接收到POP3命令以后
都会返回相应的请求数据到客户端
返回的数据格式如下
OK
服务器将返回相应的数据