pop3接收网易163邮件及下载超大附件
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邮件及下载超大附件相关推荐
- html发送邮件代码主题主题乱码,网易163邮件内容显示HTML为代码或乱码的解决办法...
症状:一直都收到监控宝的通知邮件,以前显示正常,现在发现收到的是html的代码,而不是显示html的样式呢? 问题分析: 1.由于发件人所在的国家或地区的编码和中国大陆不一样,比如香港台湾地区一般是 ...
- python邮件自动下载解析附件
开始码代码之前,我们先来了解一下三种邮件服务协议: 1.SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议.相当于中转站,将邮件发送到客户端. 2 ...
- 邮件发送超大附件有哪些问题?怎么解决?
合作伙伴第5次催促时,10G的CAD图纸才传了67%: 又一次,写好邮件上传附件时,被通知文件太大无法上传: 邮件发送出去的会议资料,永远不知道谁没有查看,还要电话通知一遍 -- 工作中,你肯定遇到过 ...
- 怎么通过邮箱发超大附件?介绍一种基于云服务的方法
合作伙伴第5次催促时,10G的CAD图纸才传了67%:又一次,写好邮件上传附件时,被通知文件太大无法上传:邮件发送出去的会议资料,永远不知道谁没有查看,还要电话通知一遍-- 工作中,你肯定遇到过上述类 ...
- Qt pop3接收邮件并下载附件程序
功能简介:帮朋友做的自动登陆邮箱接收邮件,并把邮件保存到数据库,附件下载到工程目录. 环境:qtcreator5.4,MSVC2013-Opengl,数据库:mysql 用到的第三方库https:// ...
- android javamail获取邮件太多太慢_java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)
如何使用IMAP服务? 首先介绍一些邮件发送的基础知识,如果你已经知道可以跳过. 直接到 Email 邮件发送实现的部分. IMAP是什么? IMAP,即Internet Message Access ...
- 163邮箱发送不出去服务器,我是网易163的免费邮箱,最近发现不能发邮件了,不知怎么回事,请热水人帮一下。...
我是网易163的免费邮箱,最近发现不能发邮件了,不知怎么回事,请热水人帮一下.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下 ...
- 用telnet命令,POP3接收邮件
昨天已经成功利用telnet命令发送了邮件,今天接着来,只能发送不能接收多郁闷. 邮件的接收这里是基于pop3协议的,pop3协议共定义了12条与接收相关的邮件,如下面简单解释: 首先是与登陆验证相关 ...
- python模拟登录网易163邮箱并发送SOS邮件
基本环境配置 1. Selenium - 建议使用低版本的Python-Selenium库,因为高版本在Chrome中不支持. pip3 install selenium==2.48.0 2. chr ...
- Python网络通信~pop3接收邮件
在 Python进阶教程m9b–网络通信–smtplib发送邮件 一文中桔子菌给大家介绍了怎么用Python发送邮件,俗话说"来而不往非礼也",有发就要有收,这篇文章将带大家熟悉下 ...
最新文章
- Science子刊带来新遗传证据:早期人类驯化了自己
- 用什么DOS命令挂上*.mdf、*.ldf的数据库?
- 10分钟!构建支持10万/秒请求的大型网站
- nagios(系统监控)
- thrift客户端调用不支持多线程,非线程安全
- pytorch构建LSTM处理二分类任务
- 万字梳理,带你拿下 Java 面试题!
- centos 7 单独安装mysql和mysqli和pdo_mysql扩展
- 微信公众号支付安卓和WP支付成功,苹果不能支付!
- jooq生成records_Java 14 Records类
- JAVA的序列化不得不说的事
- 关于官方Reachability Demo理解
- 人工智能核心能力包括哪些层面?
- 活动单导学计算机课,教学中“活动单导学”教学模式的反思
- python unpack函数_Lua UnPack函数用法实例
- 使用MayaLiveLink插件在UE4中预览Maya模型动作
- 与 TensorFlow 的初次相遇
- 【高项】- 采购管理论文
- 回收站文件清空,要如何恢复?
- Redis之懒惰删除
热门文章
- 链家40岁员工删除公司9T数据,被判7年
- python K折交叉验证
- 存储容量(空间)换算公式
- for循环遍历Set集合时如何判断是否有下一个元素
- 更改计算机复制快捷键,电脑复制粘贴快捷键,详细教您电脑怎么用键盘复制粘贴...
- 吾身听物化,化及事则休
- lisp 阿基米德螺旋_用Auto CAD怎样画椭圆螺旋
- AngularJS页面【uib-dropdown】控件在模态窗口(弹出窗)中无法使用问题
- 黄淮江淮等地有大雾 较强冷空气将影响中东部地区
- word中图片为嵌入式格式时显示不全_word插入图片嵌入式 word图片显示不全