解压PDF → 提取购买方名称 → 匹配邮箱 → 批量发送,多账号随机轮换防封。
- 批量解压 ZIP 中的 PDF 电子发票
- 自动提取购买方名称(正则匹配)
- 与 Excel 发票登记表交叉匹配收件人邮箱
- 多 QQ 邮箱账号随机轮换发送,避免单账号被判定为营销
- 每 9 封自动暂停并切换账号
- 现代化 PyQt5 界面,实时日志和进度
pip install -r requirements.txtpython main.py| 文件 | 格式 | 说明 |
|---|---|---|
| ZIP 压缩包 | .zip |
内含多个 PDF 电子发票文件 |
| 发票登记表 | .xlsx / .xls |
第 13 列(M 列)必须是邮箱地址,任意列包含购买方名称 |
- 至少填写 2 个 QQ 邮箱 + 授权码(QQ邮箱 → 设置 → 账户 → POP3/SMTP服务 → 生成授权码)
- 可批量粘贴:输入框支持
邮箱 授权码格式,一键解析导入
点击「🚀 开始处理」,程序自动执行:
解压 ZIP → 提取购买方名称 → 匹配 Excel 邮箱 → 发送邮件
结果保存在输出目录的 购买方名称.csv 中。
| A | B | ... | M(第13列) |
|---|---|---|---|
| 公司A | ... | ... | user1@qq.com |
| 公司B | ... | ... | user2@163.com |
- 购买方名称可出现在任意列,程序会逐行逐列搜索
- 邮箱必须放在第 13 列
- 未匹配到的自动标记为"未找到匹配内容"
- QQ 邮箱授权码不是邮箱密码(QQ邮箱 → 设置 → 账户 → POP3/SMTP服务 → 生成授权码)
- 请勿用于发送垃圾邮件,仅限发票等合法文件
- 多账号设计是为了分散发送压力,避免被判定为营销
| 技术 | 用途 |
|---|---|
| Python 3.8+ | 语言 |
| PyQt5 | GUI 界面 |
| pandas | Excel 读取 |
| pdfplumber | PDF 文本提取 |
| smtplib | SMTP 邮件发送 |
invoice-mailer/
├── main.py # 主程序入口
├── requirements.txt # 依赖列表
├── .gitignore
└── README.md