当前位置:首页>python>催款催到崩溃?1个Python脚本,1分钟发完100封催款邮件!

催款催到崩溃?1个Python脚本,1分钟发完100封催款邮件!

  • 2026-09-02 19:21:50
催款催到崩溃?1个Python脚本,1分钟发完100封催款邮件!

关注我,学习更多实用Python知识

🌈 Hi,宝子们~ 一个痛点,一个脚本,轻松提效

🛠️ 痛点:月底催款,你是不是还在这样操作:打开Excel → 复制客户信息 → 打开邮箱 → 粘贴 → 改金额和逾期天数 → 发送 → 下一个……发完50个客户,手酸眼花,还担心把A公司的欠款金额发给了B公司!

🎯 今天分享一个Python小脚本:读取欠款客户Excel表格,自动给每位客户发送专属催款通知邮件,客户名称、欠款金额、逾期天数、合同编号全部自动匹配,绝不串发!

📖 需求:批量发送催款通知

📊假设有一张《欠款客户名单.xlsx》:

🚀想要的效果:一键运行→ 每家公司收到一封专属催款邮件 → 邮件里只显示固定对象的欠款信息 → 可根据不同情况设置语气 → 3分钟全部发完!

🛠️ 实现代码:自动发送催款通知

import pandas as pdimport smtplibimport sslfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom datetime import datetime# ===== 配置区(改成你自己的信息)=====发件人邮箱 = "你的QQ邮箱@qq.com" #以QQ邮箱为例邮箱授权码 = "你的QQ邮箱授权码"# QQ邮箱需要开启SMTP获取授权码SMTP服务器 = "smtp.qq.com"SMTP端口 = 587# ====================================def 发送催款通知(收件人, 客户名称, 合同编号, 欠款金额, 逾期天数, 最晚还款日):# 构造邮件正文    邮件正文 = f"""尊敬的 {客户名称}:您好!截至 {datetime.now().strftime('%Y年%m月%d日')},贵公司以下合同款项尚未结清:┌─────────────────────────────────┐│ 合同编号:{合同编号}│ 欠款金额:{欠款金额:,.2f} 元│ 逾期天数:{逾期天数} 天│ 最晚还款日:{最晚还款日}└─────────────────────────────────┘请尽快安排付款,感谢配合!此邮件为系统自动发送,请勿直接回复。"""# 构造邮件    msg = MIMEMultipart()    msg["Subject"] = f"催款通知 - {合同编号} - 逾期{逾期天数}天"    msg["From"] = 发件人邮箱    msg["To"] = 收件人    msg.attach(MIMEText(邮件正文, "plain", "utf-8"))# 发送邮件    context = ssl.create_default_context()    server = smtplib.SMTP(SMTP服务器, SMTP端口)    server.starttls(context=context)    server.login(发件人邮箱, 邮箱授权码)    server.sendmail(发件人邮箱, 收件人, msg.as_string())    server.quit()    print(f"✓ {客户名称} 发送成功")# 读取Excel并批量发送df = pd.read_excel("欠款客户名单.xlsx")for _, row in df.iterrows():    发送催款通知(        收件人=row["联系人邮箱"],        客户名称=row["客户名称"],        合同编号=row["合同编号"],        欠款金额=row["欠款金额"],        逾期天数=row["逾期天数"],        最晚还款日=row["最晚还款日"]    )print("全部发送完成!")

⚡ 运行效果

🚀代码运行,控制台端输出:

共找到 3 家欠款客户,开始发送催款通知...✓ 上海XX贸易 - 逾期15天 发送成功✓ 深圳科技 - 逾期32天 发送成功✓ 杭州电商 - 逾期7天 发送成功发送完成!成功:3,失败:0

🚀接收者收到邮件,如下图所示:

🚀每家客户收到的邮件内容完全个性化,完全省去手敲的动作!

备注:想详细了解如何发送邮件的细节可翻阅之前的文章:用3分钟学会 Python 自动发邮件,定时推送+各种附件一劳永逸!

⚠️ 扩展一下

想要的效果
修改方法
催款邮件附带对账单PDF
先用 openpyxl 生成该客户的账单,再用 MIMEMultipart 添加附件
先发礼貌提醒,再发正式催款
在代码里加判断:逾期<7天发提醒版,逾期≥7天发催款版
自动抄送特定对象
msg["Cc"] = "sales_manager@company.com"
生成发送记录Excel
在循环里记录发送状态,最后保存到 催款发送记录.xlsx
分批次发送(避免被当垃圾邮件)
用 time.sleep(5) 每封邮件间隔5秒

📌 结语

💡 关注我,每周分享Python干货×技巧

📌 如这篇文章对你有帮助,欢迎:

👍 点赞 | ⭐ 收藏 | 🔄 分享给需要的朋友  

💬 获取源码:关注本公众号

💬 后台发送关键字:" 自动邮件 "获取

👇点击阅读往期文章

1.福利 | 40个超实用Python自动化办公案例,0基础也能快速上手
2.【自动化办公王炸】Excel/PPT 批量-查找-替换神器!
3.手把手教你 “ 爬取小红书评论内容 ”,0基础也能上手的 Python 爬虫实战!
4.告别手敲界面!用Qt Designer"拖拉拽"搞定Python GUI
5.超7000万次下载!Python自动化神器PyAutoGUI,助你轻松准时下班!
6.告别命令行,可视化的打包" 神器 "!轻松让 Python 程序转 EXE
7.用3分钟学会 Python 自动发邮件,定时推送+各种附件一劳永逸!
8.企业微信自动发送图文、文件、音视频 Python 实现指南
9.Pandas +Excel:数据筛选、VLOOKUP、透视、公式、绘图 一个案例全搞定
10.Python 生成二维码:自定义背景、Logo 与样式,批量生成超实用案例!
11.贵金属板块大涨大跌!如何用Python快速获取湖南白银行情?
12.Python抓取摄像头图像,进行AI识别(四):AI火焰自动预警的实现

最新文章

随机文章