相关文章推荐
有爱心的香烟  ·  Classycle·  1 月前    · 
着急的黄瓜  ·  Monodevelop not ...·  2 月前    · 
儒雅的炒饭  ·  Error creating bean ...·  4 月前    · 

背景介绍:VS2017 | .net core | C# |  .netframwork 4.0

-----------------------------------------------------------------------

这东西本来没打算记的,主要是连接邮件服务器的时候百度搜出来的大多博客不能用,浪费1小时,所以来记一下,主要看的是这个 参考博客 ,我在此基础上做了改动

实现功能如下:

1. 通过授权码连接到邮箱服务器,并获取到某文件夹下的邮件,以上出错添加了能看到是哪块的问题(对使用的邮箱 需要你开启STMP服务 ,设置规则以确保符合的邮件移动到此文件夹下)

2. 不打开邮件,只根据主题进行筛选,同主题邮件取日期最新的那个(通过linq筛选实现)

3. 直接下载邮件中所有的普通附件(大于50M的是超大附件,只有链接,且无法通过代码下载(反正我不行,你行你试试))

4. 下载完成删除同类旧压缩包

因为头担心QQ强制改掉授权码,要求换一个,我选了网易,这两个都支持最大50M的,还有新浪什么的,但没注册就没用

关于授权码:

网易:授权码是你自己设定的,方便记忆 最多16位

QQ:授权码给你分配的,12位,但明确说了可以有很多个不用记,但只要你改QQ密码或什么中心密码,之前的全部失效

但连获取邮箱文件夹内容这里,QQ网易不一样啊,网易真的坑,你愣愣的上来会获不到“ 故意设置障碍,其实是网易需要我们表明我们登录的客户端身份,具体的原理和命令参照我上一篇文章查看IMAP ID COMMAND命令,下面只具体说说mailkit如何使用到这条命令,其实mailkit是提供这个命令的,足见mailkit的强大”   ---参考 这个博客

一,nuget包,搜MailKit   找到适合你的版本,下载

-----------------------------------------------------------------------

二.  代码内容(QQ的)

            string account = "198416****@qq.com";
            string passWord = "jsknsh**********";//获得的授权码
            m_logger.LogInformation("开始到邮箱查询更新包");
            //准备工作结束
            ImapClient client = new ImapClient();
            #region 连接到邮件服务器
                //一、创建获取邮件客户端并连接到邮件服务器。
                //带端口号和协议的连接方式
                client.Connect("imap.qq.com", 993, true);
            catch (ImapCommandException ex)
                 m_logger.LogInformation($"---------尝试连接时出错:{0}------------" + ex.Message);
            catch (ImapProtocolException ex)
                 m_logger.LogInformation($"---------尝试连接时的协议错误:{0}------------" + ex.Message);
            catch (Exception ex)
                 m_logger.LogInformation($"---------服务器连接错误:{0}------------" + ex.Message);
                    背景介绍:VS2017 | .net core | C# |  .netframwork 4.0-----------------------------------------------------------------------这东西本来没打算记的,主要是连接邮件服务器的时候百度搜出来的大多博客不能用,浪费1小时,所以来记一下,主要看的是这个参考博客,我在此基础上做了改动实现功能如下:1...
复制代码 代码如下:
Zgke.Net.POP3 _Popt = new Zgke.Net.POP3("192.168.0.1", 110); 
DataTable _Mail = _Popt.GetMail("zk", "zk", 1); 
返回DataTable 数据内容为 
Type为类型 Text为文字 如果是附件 为byte[] Nam
javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login. 
More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
打开QQ邮箱的帮助心:
首先我们打开邮箱的授权码那里,一定要发送邮件的那个
老师要求让获取邮箱邮件内容,发件人、收件人、发送时间等等。转存到excel里面。并下载邮件带的附件,通过网上搜集资料,整理出例如以下代码,仅仅是实现功能。代码并未优化。
使用的时候仅仅须要填写自己邮箱账号password就可以(须要源代码的能够留下邮箱)
以下贴出代码,
package ltg.defualt;
import java.io.File;
import java.i...
                Navicat Premium 连接本地oracle 【解决ORA-01017 invalid username/password;logon denied连接问题】
                    JieFighting: 
                    为啥当时用的是root作为用户名安装的Oracle,这里用root连接就报错01017,用system就可以了
                Navicat Premium 连接本地oracle 【解决ORA-01017 invalid username/password;logon denied连接问题】
                    白蛇-缘起: 
                    万能用户名?
                Echarts图表样式调整|| 自动滚动效果||防遮挡
                    偶尔会发笑: 
                    emmm,我在这篇文章的图片里没找到你问的对应模块(没看到【预警】这两个字),如果是问显示违规的echarts图表,建议你看看它的官网,如果是最右侧的表格列表,那就是html自己画的昂
                Echarts图表样式调整|| 自动滚动效果||防遮挡
                    weixin_46169459: 
                    我想知道那个列表形式的是怎么显示出来的(七日预警排行)
                C#使用 MailKit获取邮件中的附件(QQ邮箱/163网易邮箱)
                    努力吧少年-珊珊: 
                    ImapClient  读取邮件好像也不准确呀