通过IMAP定向收取网易邮箱邮件(疑难)

news/2024/7/19 10:18:16 标签: php, 爬虫

前言

最近突发奇想,想做一个个人的邮件爬虫,分析自己订阅的信息(技术订阅,信用卡账单等)。为了找到更好的解决方案,就提前复习了一下关于Mail收发协议的一些知识。同时在JavaMail之上封装了一个类库,结合网易邮箱做了一系列的测试,于是就有了接下来的内容。本文主要围绕网易邮箱设置的限制展开。

本来,如果使用POP3进行文件的收取,就还是蛮顺利的。可是POP3的缺点非常明显,不能定向收取指定文件夹中的邮件,这个缺点明显不符合需求,所以果断放弃,选择使用IMAP进行收取。

因为IMAP能够操作的功能比较多,也被各大邮件服务提供商做了安全限制,网易也不例外,所以就有了以下问题。

问题

  1. 问题一:NO Select Unsafe Login. Please contact kefu

这个问题往往伴随以下这个邮件

,刚开是以为是因为没有给邮箱设置安全密码(第三方登陆单独使用密码),可是设置后仍然无效

最后查出的问题,这个问题是网易邮箱所特有的,原因在于,网易为了推广自身产品-网易邮箱大师,所以拦截了其他第三方请求。

解决方案:config.mail.163.com/settings/im… 通过这个地址,阅读网易的安全协议,表示同意承担信息丢失的风险后,网易就会开发IMAP的协议接口了。

  1. 问题二:邮件数量限制,日期限制

正式开始测试后,总是发现收取的邮件数目不对。主要反映为两点,1、返回的邮件数目和在网页查看的邮件数目对不上,2、有部分很久前存在的文件夹,一直收取不到邮件,但是也不报错。

解决方案:网易默认限制了客户端只能够收取近30天内的邮件,需要通过设置,将权限放开。

TIPS

国内常用邮件服务商对IMAP的支持

  • 126/163:允许通过IMAP获取自定义的文件夹,但是需要开通授权
  • QQ :只允许获取QQ定义的文件夹,自定义无法获取
  • coremail : 支持获取自定义文件夹,无需授权

广告

JavaMail二次封装库


http://www.niftyadmin.cn/n/1203474.html

相关文章

使用cd-hit对核酸序列或氨基酸序列聚类

目录cd-hit简要原理cd-hit的参数叮!cd-hit简要原理 cd-hit是一款用于蛋白质序列或者核酸序列聚类的工具,由 Dr. Weizhong Li开发。其主要目的是在一堆较相似的序列找出几条代表序列,这几条代表序列就能分别代表这堆序列中的一个小类。 cd-h…

使用Python ete3包快速大批量地寻找物种的NCBI Taxonomy分类的完整信息(物种名和Taxid可进行相互转换)

ete全称为Environment for Tree Exploration,直译就是树探索环境,此工具可以直接在终端输入 pip install ete3 进行安装即可。ete包主要功能与构建系统发生树有关,若是有相关需求可以查看其介绍文档,地址:The ETE tuto…

【JavaScript】DOM之BOM

BOM 1.BOM是什么 提供了独立页面内容,与浏览器相关的一系列对象,管理窗口之间通信 2.Window对象 具有双重角色,对象即是允许JS访问浏览器窗口的一个对象,和ECMAScript规范中的Global全局对象,在浏览器运行JS逻辑时&…

(python) 字符串方法整理

python字符串是最基础最常见的一种python数据类型,全称为string,简写为str,用于处理文本内容。python字符串具有很多属性及操作方法,在进行数据准备、清洗或者处理时使用起来十分方便,也具有很强大的功能。因此善于使用…

和他们一起 pick 七牛云,pick 美好未来!

很多人都会问小编 七牛云具体是做什么的? 为了帮助大家更好的 理解我们于用户存在的意义 我们联合了部分合作客户 通过不同的场景展示 设计了一组接地气的企业海报 请先睹为快!  1 七牛云 x 平安银行 用心打造安全高效的数据管理平台 让远在…

python数据处理必会 之 pandas包中DataFrame和Series的常用方法整理

文章目录PandasSeriesDataFrame叮!Pandas pandas是python中用于处理数据的常用包,主要用于处理表格型或者异质型数据,其经常与numpy或者scipy等数值计算工具包一起使用。pandas常用的三种数据类型为logical(逻辑型)、Numeric(数值型)和Chara…

入门R语言(1):R对象

R语言为用于统计分析、绘图的一门语言,在当今的数据分析任务中占据了很重要的位置,之后数据分析类的任务可能会需要用到R,因此打算从零开始学习R语言,记录学习的过程。 本文主要参照w3cschool编程狮网站的教程进行学习整理。 文章…

String(JDK1.8) 源码阅读记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40254498/article/details/82464207 String 在 Java 中字符串属于对象。Java 提供了 String 类来创建和操作字符串。 定义 使用了final ,说明该类不能被继…