C#通过POP3协议验证 Email 账号

static bool ValidateEmailAccount(string server, int port, string userName, string password, out string ErrorMessage)
        {
            ErrorMessage = "";

            //create a tcp connection
            TcpClient _server = new TcpClient(server, port);
            
            //prepare 
            NetworkStream netStream = _server.GetStream();
            StreamReader reader = new StreamReader(_server.GetStream());

            if (!reader.ReadLine().Contains("+OK"))
            {
                //失败
                ErrorMessage = "server链接失败";
                return false;
            }

            string data;
            byte[] charData;
            string CRLF = "\r\n";

            //login
            data = "USER " + userName + CRLF;
            charData = System.Text.Encoding.ASCII.GetBytes(data);
            netStream.Write(charData, 0, charData.Length);
            if (!reader.ReadLine().Contains("+OK"))
            {
                //账户错误
                ErrorMessage = "账户错误";
                return false;
            }
            data = "PASS " + password + CRLF;
            charData = System.Text.Encoding.ASCII.GetBytes(data);
            netStream.Write(charData, 0, charData.Length);
            if (!reader.ReadLine().Contains("+OK"))
            {
                //密码错误
                ErrorMessage = "密码错误";
                return false;
            }
            return true;
        }


 调用

            string errorMessage;
            bool isContains = ValidateEmailAccount("pop3.163.com", 110, "wise_sandy@XXX.com", "************", out errorMessage);

            Console.WriteLine(isContains ? "用户存在" : errorMessage);


 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值