C#怎么登陆QQ邮箱
如果我做WinForm给个QQ邮箱的用户名和密码,怎么在WinForm里面验证我的输入的用户名和密码是否正确啊?...
如果我做WinForm给个QQ邮箱的用户名和密码,怎么在WinForm里面验证我的输入的用户名和密码是否正确啊?
展开
1个回答
展开全部
因为qq邮箱是pop3的好像,你可以用c#里面SmtpClient 类进行邮箱账户的验证。 追问: 但是这个SmtpClient类,在构造函数里面就可以写验证,就算是不正确它也没有反映啊,我怎么知道啊? 回答: 我告诉下我的想法吧,其实我是想通过c#发送邮件的方法,检测邮箱的用户名和密码,因为如果用户名和密码不对,这个SmtpClient类会返回错误信息,你只要catch住这个错误就行。 但我的想法也有缺陷,就是似乎必须发送一封电子邮件。所以我的想法你可以参考。下面是发送邮件的代码示例: //发送Internet邮件 try { SmtpClient client = new SmtpClient("smtp.sina.com【邮件服务器,比如这个就是新浪邮箱的发件服务器】"); client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("发送邮箱的用户名", "发送邮箱的密码"); client.DeliveryMethod = SmtpDeliveryMethod.Network; MailMessage mail = new MailMessage(); mail.From = new MailAddress("接收邮件的邮箱,就是你要发给谁"); mail.To.Add("抄送给谁,可以不填"); mail.Subject = "邮件标题"; mail.BodyEncoding = System.Text.Encoding.Default; mail.Body = "邮件内容"; if (list != null) { foreach (Attachment item in list) { mail.Attachments.Add(item); } } mail.IsBodyHtml = true; client.Send(mail); Response.Write("<script>alert('发送成功');</script>"); } catch (Exception ex) { Response.Write("<script>alert('" + ex.Message + "');</script>"); } 当然,我也想知道有什么更好的办法,呵呵,大家互相学习吧。 补充: 刚发现一个人的帖子比较符合你的意思,贴出来和你分享: http://topic.csdn.net/t/20020509/19/709380.html 你可以抽取里面的部分代码,用作验证。 追问: 这个方法我知道。可是我并不能得到我想要的结果,不过发现你也厉害的,有机会我们可以相互学一下的。 回答: 我给你的这个 http://topic.csdn.net/t/20020509/19/709380.html 页面内容不行么,我看了下,还不错。 提取了几个大概意思:1. 用的是NetworkStream,NetworkStream.Write方法发送数据包2. 数据包格式大概是: SendBuffer[0]="EHLO " + mailserver + enter; SendBuffer[1]="AUTH LOGIN" + enter; SendBuffer[2]=Base64Encode(username) + enter; SendBuffer[3]=Base64Encode(password) + enter; 3. 使用NetworkStream.Read接受发回的数据包,并分析内容。 你可以仔细看下这里面的代码,把它的代码精简下,应该就是你想要的了。
记得采纳啊
记得采纳啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询