一、实践背景:
由于万户OA邮件并不是传统的email,是线上邮件管理系统,并不能使用邮件客户端进行邮件的下载。万户OA邮件有是空间限制的,达到一定量,通常为几百兆就会报空间已满,需要手工删除清理一些线下邮件后才能使用。
二、本篇介绍主题:
单体应用实践中,如何使用javascripts将万户OA邮件归档为独立的邮件文件
三、使用的javascript技术组件:
- axio:发起HTTP POST/GET请求。
- cheerio: 操作HTML页面对象。
四、主体功能实现:
万户OA的一份邮件,包括邮件正文和附件。
-
邮件正文:
将邮件正文保存成本地的单个HTML文件,包括样式。
1、获取邮件正文
let url = util.format(
config.oa_mail_inbox_detail_url,
mail.mailuserid,
mail.mailid,
index,
recordCount
);
const response = await axios.get(url, {
headers: {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0",