Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

📧 PDF发票批量发送工具

解压PDF → 提取购买方名称 → 匹配邮箱 → 批量发送,多账号随机轮换防封。

✨ 功能

  • 批量解压 ZIP 中的 PDF 电子发票
  • 自动提取购买方名称(正则匹配)
  • 与 Excel 发票登记表交叉匹配收件人邮箱
  • 多 QQ 邮箱账号随机轮换发送,避免单账号被判定为营销
  • 每 9 封自动暂停并切换账号
  • 现代化 PyQt5 界面,实时日志和进度

🚀 快速开始

1. 安装依赖

pip install -r requirements.txt

2. 运行

python main.py

3. 准备数据

文件 格式 说明
ZIP 压缩包 .zip 内含多个 PDF 电子发票文件
发票登记表 .xlsx / .xls 第 13 列(M 列)必须是邮箱地址,任意列包含购买方名称

4. 配置邮箱

  • 至少填写 2 个 QQ 邮箱 + 授权码(QQ邮箱 → 设置 → 账户 → POP3/SMTP服务 → 生成授权码)
  • 批量粘贴:输入框支持 邮箱 授权码 格式,一键解析导入

5. 开始处理

点击「🚀 开始处理」,程序自动执行:

解压 ZIP → 提取购买方名称 → 匹配 Excel 邮箱 → 发送邮件

结果保存在输出目录的 购买方名称.csv 中。

📋 Excel 登记表格式要求

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

About

发票邮件群发 | PDF 发票自动识别 | 财务自动化工具 | 支持批量发送与发送记录管理 Invoice email automation tool. Batch send PDF invoices via email, with invoice parsing, template customization and delivery log tracking. Built with Python.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages