一、环境准备与安装基础环境Python 3.8安装依赖一行命令搞定pip install pandas openpyxl pyyaml⚡ 二、三步极简上手第一步配置SMTP邮箱编辑config.yaml填入你的邮箱和授权码⚠️注意是授权码不是登录密码smtp: server: smtp.qq.com # SMTP服务器地址 port: 465 # SMTP端口 username: your_emailqq.com # 邮箱账号 password: your_auth_code # 授权码 use_ssl: true # 开启SSL加密 sender: name: 邮件群发系统 # 发件人显示名称 email: your_emailqq.com # 发件人邮箱 send: interval: 3 # 发送间隔秒防封号必备 max_retries: 3 # 失败重试次数 batch_size: 10 # 每批发送数量 常见邮箱SMTP配置速查QQ邮箱smtp.qq.com端口465需在邮箱设置开启SMTP获取授权码163邮箱smtp.163.com端口465同理开启POP3/SMTPGmailsmtp.gmail.com端口465需使用App Password第二步准备联系人和模板1. 准备Excel (contacts.xlsx)必填列为email和name其他列随意加模板里都能用emailnamecompanycoursedeadlinestudent1xxx.com张三某大学Python入门2024-01-31student2xxx.com李四某公司数据分析2024-02-152. 编写邮件模板 (templates/course_notice.txt)使用{{字段名}}语法与Excel表头一一对应尊敬的{{name}}同学 您好您报名的【{{course}}】课程即将开课 课程信息 - 课程名称{{course}} - 报名截止{{deadline}} 请尽快登录系统完成缴费名额有限先到先得 {{sender_name}} {{current_date}}第三步运行发送# 1. 先发一封测试邮件给自己确保配置无误 python email_sender.py --test your_emailqq.com # 2. 正式批量群发 python email_sender.py \ --contacts contacts.xlsx \ --template course_notice \ --subject 【开课通知】{{course}}即将开课 # 3. 需要带附件没问题 python email_sender.py \ --contacts customers.xlsx \ --template promotion \ --subject 【限时优惠】产品折扣活动 \ --attachments brochure.pdf price_list.xlsx 三、进阶玩法详解1. 邮件主题也支持个性化不仅正文可以替换--subject参数同样支持模板语法python email_sender.py --subject 【专属优惠】{{name}}先生/女士{{product}}限时折扣 ...2. 内置系统变量除了Excel里的自定义列系统还内置了以下变量可直接使用{{email}}收件人邮箱{{name}}收件人姓名{{sender_name}}发件人名称读取配置文件{{current_date}}当前日期3. 命令行参数全览参数简写说明必填--config-c配置文件路径❌默认config.yaml--contacts-f联系人Excel文件路径✅--template-t邮件模板名称✅--subject-s邮件主题✅--attachments-a附件文件名列表❌--test-发送测试邮件❌ 四、踩坑避雷指南FAQ❌ 问题1SMTPAuthenticationError: 535 Login Fail 解决99%是因为用了登录密码而不是授权码请去邮箱设置里生成独立的SMTP授权码。❌ 问题2发送几封后就连不上/报错421 解决发送频率太高被服务商限制了。修改config.yaml中的interval: 5增大间隔减小batch_size。❌ 问题3ValueError: Excel文件缺少必需列 解决检查Excel的第一行表头必须包含英文的email和name且不要有空格。 五、安全与合规提示作为技术人用技术提效的同时也要守规矩勿硬编码密码不要把邮箱密码写在代码里建议使用环境变量或配置文件并加入.gitignore。合规发送确保收件人是自愿接收邮件邮件内容需合法合规避免触发反垃圾邮件机制如少用夸张词汇、提供退订方式。数据安全客户的Excel数据妥善保管切勿上传至开源仓库 总结这个脚本轻量、实用完美解决了日常运营中“批量又需定制”的邮件发送痛点。如果你也在做社群运营、培训机构或者客户维护这个工具绝对能帮你省下无数个加班的夜晚系统完整源代码和文档地址https://download.csdn.net/download/wjianwei666/92858004如果觉得有用别忘了点赞收藏⭐支持一下有任何Bug或新需求欢迎在评论区交流~