TypeScript和JavaScript到底有什么区别?
2025年12月21日 17:54
两种语言的本质关系:从自由奔放到严谨规划 首先,让我们澄清一个最常见的误解:TypeScript不是JavaScript的替代品,而是它的超集。
这是一个基于Node.js的邮件自动下载和分类工具,能够通过IMAP协议连接到邮箱服务器,自动下载所有邮件并按照联系人进行分类保存。
程序运行后会自动创建以下目录结构:
E:\邮箱下载\pds_server\分类邮件库\
├── 收件箱\ # 所有收到的邮件
│ ├── 来自_联系人A\ # 某个联系人发来的邮件
│ │ ├── 2024-01-01_邮件主题.eml # 邮件原始文件
│ │ ├── 附件\ # 该联系人的所有附件
│ │ │ ├── 1640995200000_文件1.pdf
│ │ │ └── 1640995200000_图片.jpg
│ │ └── _index.json # 该联系人邮件索引
│ ├── 来自_联系人B\
│ └── ...
├── 已发送\ # 所有发送的邮件
│ ├── 发给_联系人A\ # 发送给某个联系人的邮件
│ │ ├── 2024-01-01_回复邮件.eml
│ │ ├── 附件\
│ │ └── _index.json
│ └── ...
└── _下载记录.json # 全局下载记录文件
日期_主题.eml
YYYY-MM-DD
附件文件夹时间戳_原文件名
每个联系人目录下都会生成一个索引文件,包含:
{
"emails": [
{
"seqno": 123,
"subject": "邮件主题",
"date": "2024-01-01T12:00:00.000Z",
"emlFile": "2024-01-01_邮件主题.eml",
"infoFile": "邮件信息.json",
"hasAttachments": true
}
]
}
全局下载记录,记录所有已下载邮件的UID:
{
"downloadedUids": [12345, 12346, 12347],
"inboxTotal": 364,
"sentTotal": 50,
"inboxProcessed": 100,
"sentProcessed": 20,
"lastUpdate": "2024-01-01T12:00:00.000Z"
}
# 安装Node.js依赖
npm install
# 确保安装了必要的包
npm install imap mailparser cli-progress
在代码中修改邮箱配置:
const EMAIL_USER = 'your-email@example.com';
const EMAIL_PASSWORD = 'your-password';
cd E:\邮箱下载\pds_server
node routes/email.js
程序会实时显示:
连接失败
下载卡住
文件保存失败
程序会输出详细日志:
✅ 成功下载:邮件下载成功⏭️ 已跳过:邮件已存在或超时❌ 失败:处理出错,可手动查看程序运行完成后会显示:
分类邮件库文件夹如遇到问题,请检查:
版本:1.0 更新日期:2025-12-19 开发者:江城开朗的豌豆