const { Client } = require('yapople'); // 邮件接收..
const cheerio = require('cheerio');  // 将标签转成标准的html..
const axios = require('axios'); // 获取url网页的源代码,下载..
const path = require('path');
const fs = require('fs');const client = new Client({host: 'pop.163.com',port: 995,tls: true,mailparser: true,username: 'xxxxx@163.com',password: 'xxxxxx'
});(async () => {await client.connect();// const messages = await client.retrieveAndDeleteAll(); //接收并删除邮件,避免下次重复接收..const messages = await client.retrieveAll();messages.forEach((message) => {// console.log("账户收取邮件 -----" + JSON.stringify(message));let mailcontenthtml = message.html;// 找到超大附件..if (mailcontenthtml.indexOf("从网易163邮箱发来的超大附件") != -1) {var $ = cheerio.load(mailcontenthtml);let data = [];$("a").each(function (i, e) {let download = "";let filename = "";let filesize = "";if ($(e).attr("download")) {download = $(e).attr("download");}if ($(e).attr("filename")) {filename = $(e).attr("filename");}if ($(e).attr("filesize")) {filesize = $(e).attr("filesize");data.push({ "download": download, "filename": filename, "filesize": filesize }); //添加下载地址(ps:这个还不是真正的下载地址),名字,附件大小}});let timestamp = Date.parse(new Date().toString());for (let aa of data) {timestamp += 1000;down(aa, timestamp);}}});await client.quit();
})().catch(console.error);function down(url, timestamp) {axios.get(url['download']).then(response => {const $ = cheerio.load(response.data);// console.log($.html());// <script>标签中的downloadlink是下载地址if(responseData.indexOf("downloadlink") != -1){let second = responseData.split("downloadlink")[1];let downloadurl = second.substring(second.indexOf("'")+1,second.indexOf(";")-1);}let file_suffix = url['filename'];file_suffix = file_suffix.substring(file_suffix.lastIndexOf("."));console.log("---file_suffix--" + file_suffix);let ppp = path.join("C:\\Users\\xxx\\Desktop\\桌面资料", timestamp + file_suffix);axios({url: downloadurl,responseType: "arraybuffer"}).then(async ({data}:any) => {logService.logger.info("完成超大附件下载-----");fs.writeFileSync(attach_path, data, "binary");}).catch(function (error: any) {logService.logger.info("保存超大附件异常-------------", error);});}).catch(error => {console.log(error);});
}

pop3接收网易163邮件及下载超大附件相关推荐

  1. html发送邮件代码主题主题乱码,网易163邮件内容显示HTML为代码或乱码的解决办法...

    症状:一直都收到监控宝的通知邮件,以前显示正常,现在发现收到的是html的代码,而不是显示html的样式呢? 问题分析: 1.由于发件人所在的国家或地区的编码和中国大陆不一样,比如香港台湾地区一般是 ...

  2. python邮件自动下载解析附件

    开始码代码之前,我们先来了解一下三种邮件服务协议: 1.SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议.相当于中转站,将邮件发送到客户端. 2 ...

  3. 邮件发送超大附件有哪些问题?怎么解决?

    合作伙伴第5次催促时,10G的CAD图纸才传了67%: 又一次,写好邮件上传附件时,被通知文件太大无法上传: 邮件发送出去的会议资料,永远不知道谁没有查看,还要电话通知一遍 -- 工作中,你肯定遇到过 ...

  4. 怎么通过邮箱发超大附件?介绍一种基于云服务的方法

    合作伙伴第5次催促时,10G的CAD图纸才传了67%:又一次,写好邮件上传附件时,被通知文件太大无法上传:邮件发送出去的会议资料,永远不知道谁没有查看,还要电话通知一遍-- 工作中,你肯定遇到过上述类 ...

  5. Qt pop3接收邮件并下载附件程序

    功能简介:帮朋友做的自动登陆邮箱接收邮件,并把邮件保存到数据库,附件下载到工程目录. 环境:qtcreator5.4,MSVC2013-Opengl,数据库:mysql 用到的第三方库https:// ...

  6. android javamail获取邮件太多太慢_java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)

    如何使用IMAP服务? 首先介绍一些邮件发送的基础知识,如果你已经知道可以跳过. 直接到 Email 邮件发送实现的部分. IMAP是什么? IMAP,即Internet Message Access ...

  7. 163邮箱发送不出去服务器,我是网易163的免费邮箱,最近发现不能发邮件了,不知怎么回事,请热水人帮一下。...

    我是网易163的免费邮箱,最近发现不能发邮件了,不知怎么回事,请热水人帮一下.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下 ...

  8. 用telnet命令,POP3接收邮件

    昨天已经成功利用telnet命令发送了邮件,今天接着来,只能发送不能接收多郁闷. 邮件的接收这里是基于pop3协议的,pop3协议共定义了12条与接收相关的邮件,如下面简单解释: 首先是与登陆验证相关 ...

  9. python模拟登录网易163邮箱并发送SOS邮件

    基本环境配置 1. Selenium - 建议使用低版本的Python-Selenium库,因为高版本在Chrome中不支持. pip3 install selenium==2.48.0 2. chr ...

  10. Python网络通信~pop3接收邮件

    在 Python进阶教程m9b–网络通信–smtplib发送邮件 一文中桔子菌给大家介绍了怎么用Python发送邮件,俗话说"来而不往非礼也",有发就要有收,这篇文章将带大家熟悉下 ...

最新文章

  1. Science子刊带来新遗传证据:早期人类驯化了自己
  2. 用什么DOS命令挂上*.mdf、*.ldf的数据库?
  3. 10分钟!构建支持10万/秒请求的大型网站
  4. nagios(系统监控)
  5. thrift客户端调用不支持多线程,非线程安全
  6. pytorch构建LSTM处理二分类任务
  7. 万字梳理,带你拿下 Java 面试题!
  8. centos 7 单独安装mysql和mysqli和pdo_mysql扩展
  9. 微信公众号支付安卓和WP支付成功,苹果不能支付!
  10. jooq生成records_Java 14 Records类
  11. JAVA的序列化不得不说的事
  12. 关于官方Reachability Demo理解
  13. 人工智能核心能力包括哪些层面?
  14. 活动单导学计算机课,教学中“活动单导学”教学模式的反思
  15. python unpack函数_Lua UnPack函数用法实例
  16. 使用MayaLiveLink插件在UE4中预览Maya模型动作
  17. 与 TensorFlow 的初次相遇
  18. 【高项】- 采购管理论文
  19. 回收站文件清空,要如何恢复?
  20. Redis之懒惰删除

热门文章

  1. 链家40岁员工删除公司9T数据,被判7年
  2. python K折交叉验证
  3. 存储容量(空间)换算公式
  4. for循环遍历Set集合时如何判断是否有下一个元素
  5. 更改计算机复制快捷键,电脑复制粘贴快捷键,详细教您电脑怎么用键盘复制粘贴...
  6. 吾身听物化,化及事则休
  7. lisp 阿基米德螺旋_用Auto CAD怎样画椭圆螺旋
  8. AngularJS页面【uib-dropdown】控件在模态窗口(弹出窗)中无法使用问题
  9. 黄淮江淮等地有大雾 较强冷空气将影响中东部地区
  10. word中图片为嵌入式格式时显示不全_word插入图片嵌入式 word图片显示不全