c# 利用IMap 收取163邮件

c# 利用IMap 收取163邮件,第1张

概述 最近我要做一个爬虫。这个爬虫需要如下几个步骤:1 填写注册内容(需要邮箱注册)2 过拖拽验证码(geetest)3 注册成功会给邮箱发一封确认邮箱4 点击确认邮箱中的链接 完成注册 我这里就采用163邮箱注册。邮箱协议有 pop3 和 imap 和 smtp我试了pop3  不能够筛选邮件 例如筛选未读 和 发件人这2个条件 所以放弃用pop3imap协议是支持的。我就找了一个开源的第三方lib:S22.Imap用法很简单:public void Test163(){var imapServer = "imap.163.com";var port = 993;using (ImapClient client = new ImapClient(imapServer, port, "xxxx@163.com", "pwd", AuthMethod.Login, true)){// Returns a collection of identifiers of all mails matching the specified search criteria.IEnumerable<uint> uids = client.Search(SearchCondition.Unseen());// Download mail messages from the default mailbox.IEnumerable<MailMessage> messages = client.GetMessages(uids,FetchOptions.HtmlOnly);Console.WriteLine("We are connected!");}} 发现 在login的时候 报错了:提示“NO Select Unsafe Login. Please contact kefu@188.com for help”。163邮箱也会收到一个告警邮件  经过查证 发现得需要在发送 login 命令之前 得先发送 id 命令至于为什么要这么做 我的理解是得先伪装成普通的客户端吧(有理解错误请指出谢谢)我fork了一份SS2.imap的代码 打算兼容163的这个特殊情况改掉源码  然后走Login方法就不会报错了 Github地址:https://github.com/yuzd/S22.Imap

最近我要做一个爬虫。这个爬虫需要如下几个步骤:

1 填写注册内容(需要邮箱注册)

2 过拖拽验证码(geetest)

3 注册成功会给邮箱发一封确认邮箱

4 点击确认邮箱中的链接 完成注册

我这里就采用163邮箱注册。

邮箱协议有 pop3 和 imap 和 smtp

我试了pop3  不能够筛选邮件 例如筛选未读 和 发件人这2个条件 所以放弃用pop3

imap协议是支持的。

我就找了一个开源的第三方lib:S22.Imap

用法很简单:

imapServer = port = (ImapClIEnt clIEnt = ImapClIEnt(imapServer,port,,,AuthMethod.Login, IEnumerable<> uIDs = IEnumerable messages = Cons<a href="https://m.jb51.cc/tag/ol/" target="_blank" >ol</a>e.Write<a href="https://m.jb51.cc/tag/li/" target="_blank" >li</a>ne(</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;"</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;We are connected!</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000;"&gt;"</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"&gt;); } }</span></pre>

发现 在login的时候 报错了:

提示

163邮箱也会收到一个告警邮件

 

经过查证 发现得需要在发送 login 命令之前 得先发送 ID 命令

至于为什么要这么做 我的理解是得先伪装成普通的客户端吧(有理解错误请指出谢谢)

我fork了一份SS2.imap的代码 打算兼容163的这个特殊情况改掉源码

 

然后走Login方法就不会报错了

Github地址:https://github.com/yuzd/S22.Imap

总结

以上是内存溢出为你收集整理的c# 利用IMap 收取163邮件全部内容,希望文章能够帮你解决c# 利用IMap 收取163邮件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存