POP3命令简介

什么是 POP3
POP3 (Post Office Protocol 3) 即邮局协议的第 3 个版本,它规定怎样将个人计算机连接到 Internet 的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的 第一个离线协议标准, POP3 允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循 POP3 协议的接收邮件服务器,用来接收电子邮件的。

POP3 命令
USER username 认证用户名
PASS password 认证密码认证,认证通过则状态转换
APOP name,digest 认可一种安全传输口令的办法,执行成功导致状态转换,请参见 RFC 1321 。
STAT 处理请求 server 回送邮箱统计资料,如邮件数、 邮件总字节数
UIDL n 处理 server 返回用于该指定邮件的唯一标识, 如果没有指定,返回所有的。
LIST n 处理 server 返回指定邮件的大小等
RETR n 处理 server 返回邮件的全部文本
DELE n 处理 server 标记删除,QUIT 命令执行时才真正删除
RSET 处理撤消所有的 DELE 命令
TOP n,m 处理 返回 n 号邮件的前 m 行内容,m 必须是自然数
NOOP 处理 server 返回一个肯定的响应
QUIT 希望结束会话。如果 server 处于"处理" 状态,则现在进入"更新"状态,删除那些标记成删除的邮件。如果 server 处于"认可"状态,则结束会话时 server 不进入"更新"状态 。


.net下实现收取邮件:

static void Main(string[] args)
        {
            NetworkStream ns;
            StreamReader sr;
            //接收的消息
            string msg;
            //发送到服务器的消息
            string input = string.Empty;
            //发送到服务器的二进制消息
            Byte[] outbytes;
            //创建客户端 服务器的地址与端口
            TcpClient client = new TcpClient("pop.163.com", 110);
            //返回用于发送和接收数据的 System.Net.Sockets.NetworkStream。
            ns = client.GetStream();
            //实例化sr,读取ns流
            sr = new StreamReader(ns);
            //从当前流中读取一行字符并将数据作为字符串返回。
            msg = sr.ReadLine();
            //发送给服务器的消息
            input = "user tgfgsdgf@163.com\r\n";
            outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
            //讲消息写入发送流
            ns.Write(outbytes, 0, outbytes.Length);
            //读取服务器响应的消息 +OK core mail
            msg = sr.ReadLine();
            input = "pass rytuyuiur\r\n";
            outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
            ns.Write(outbytes, 0, outbytes.Length);
            //+OK 362 message(s) [12415637 byte(s)]
            msg = sr.ReadLine();
            //向服务器发送取邮件数目的命令
            input = "stat" + "\r\n";
            outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
            ns.Write(outbytes, 0, outbytes.Length);
            msg = sr.ReadLine();
            int count = 0;
            //如果返回错误消息
            if (msg.Substring(0, 4) == "-ERR")
            {
                count = -1;
            }
            string[] msglist=msg.Split(' ');
            count = msg[1];
            //与服务器断开连接
            input = "quit" + "\r\n";
            outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray());
            ns.Write(outbytes, 0, outbytes.Length);
            ns.Close();
            Console.WriteLine(msg);

        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
curl是一个命令行工具,用于发送HTTP请求。既然pop3是一种邮件协议,并不是HTTP协议,所以无法直接使用curl来发送pop3消息。但是,我们可以使用curl模拟pop3协议的请求。下面我们可以用更详细的步骤来说明如何使用curl来发送pop3消息。 1. 首先,我们需要确保curl已经安装在计算机上,并且可以从命令行中使用。可以在终端(Windows下是命令提示符)中输入curl命令来检查curl是否已经安装成功。 2. 使用curl发送pop3消息的第一步是建立与pop3服务器的连接。可以使用以下命令来建立连接: curl -k -v --url "pop3://mail.example.com:110" --user "username:password" 这里,mail.example.com是pop3服务器的地址,110是pop3服务器的默认端口号。username和password分别是你的pop3账户的用户名和密码。可以根据实际情况替换这些参数。 3. 下一步是发送pop3协议的命令pop3协议有一系列命令,如USER、PASS、LIST、RETR等。可以使用以下命令来向pop3服务器发送命令: curl -k -v --url "pop3://mail.example.com:110" --user "username:password" --request "COMMAND" 这里COMMAND是具体的pop3命令,可以根据需求替换为实际的命令。例如,发送USER命令来验证用户名,可以使用以下命令: curl -k -v --url "pop3://mail.example.com:110" --user "username:password" --request "USER username" 4. 最后,发送完所有需要的pop3命令后,可以使用QUIT命令来关闭与pop3服务器的连接: curl -k -v --url "pop3://mail.example.com:110" --user "username:password" --request "QUIT" 这样,就完成了使用curl模拟pop3协议发送消息的过程。 需要注意的是,pop3协议的具体命令和语法可能因pop3服务器的不同而有所差异。请根据实际情况修改以上命令中的参数和命令

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值