影刀RPA新手教程:邮件自动发送完全指南——从SMTP配置到批量个性化发送

影刀RPA新手教程:邮件自动发送完全指南——从SMTP配置到批量个性化发送

影刀RPA新手教程:邮件自动发送完全指南——从SMTP配置到批量个性化发送

我第一份工作,每天要给200个客户发邮件,每封邮件的称呼、订单号、金额都不一样。

手动发要3小时,用影刀 + Python 20分钟跑完。

这篇文章把邮件自动化的完整链路拆开讲,SMTP配置、个性化内容、附件发送、失败重试全部覆盖。


先装好环境

www.yingdao.com 下载,社区版免费。

装完去Chrome装影刀插件。

界面:左边指令区,中间流程区,右边属性配置区,底部日志区。


模块一:SMTP配置(最易踩坑)

QQ邮箱配置

QQ邮箱的SMTP配置是最常用的,但密码不是登录密码,是授权码

获取授权码的步骤:

  1. 登录QQ邮箱 → 设置 → 账户
  2. 找到"POP3/IMAP/SMTP服务" → 开启
  3. 按提示用手机发送短信
  4. 收到16位授权码(只显示一次,保存好

影刀里的配置:

指令:发送邮件 SMTP服务器:smtp.qq.com 端口:465(SSL)或 587(TLS) 发件人邮箱:123456789@qq.com ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1723058cf5f24cf9838fb5905b9bdc09.png#pic_center) 密码:16位授权码(不是QQ密码!)

网易163邮箱配置

SMTP服务器:smtp.163.com 端口:465 密码:注意!163邮箱的授权码在"设置 → POP3/SMTP/IMAP"里开启后获取

企业邮箱配置(腾讯企业邮)

SMTP服务器:smtp.exmail.qq.com 端口:465 密码:邮箱登录密码(企业邮不需要授权码,用真实密码)

Gmail配置(需要开启"不够安全的应用的访问权限")

SMTP服务器:smtp.gmail.com 端口:465 密码:需要用"应用专用密码"(Google账户 → 安全性 → 应用专用密码)

拼多多店群自动化上架方案

模块二:批量发送个性化邮件

场景

有一份Excel表(客户名单.xlsx),包含:客户姓名、邮箱地址、订单号、订单金额。

需要给每个客户发一封个性化邮件(称呼不同,订单信息不同)。

完整流程:

【第一步:读取客户名单】 指令:启动Excel 文件路径:D:\邮件\客户名单.xlsx 指令:获取当前使用中的Sheet 保存到变量:sheet 指令:获取最后一行行号 保存到变量:last_row 指令:获取一列 列名:A(客户姓名) 保存到变量:name_list 指令:获取一列 列名:B(邮箱地址) 保存到变量:email_list 指令:获取一列 列名:C(订单号) 保存到变量:order_list 指令:获取一列 列名:D(订单金额) 保存到变量:amount_list 【第二步:逐个发送邮件】 ForEach循环(name_list,索引i) → 当前姓名 = name_list[i] → 当前邮箱 = email_list[i] → 当前订单号 = order_list[i] → 当前金额 = amount_list[i] → 构造邮件正文(用字符串拼接): 正文 = "尊敬的 " + 当前姓名 + ",您好!\n\n" + "您的订单(订单号:" + 当前订单号 + ")已发货。\n" + "订单金额:" + 当前金额 + "元。\n\n" + "点击查看物流:https://logistics.xxx.com/" + 当前订单号 + "\n\n" + "如有问题请联系客服。\n\n此致\n销售部" → 指令:发送邮件 SMTP服务器:smtp.qq.com 端口:465 发件人:your@qq.com 密码:你的授权码 收件人:当前邮箱 主题:订单发货通知 - 订单号:{当前订单号} 正文:上面构造的正文 → 等待2秒(防止发送过快被服务商限流) → 把"已发送"写入Excel(当前行,E列) → 保存Excel

模块三:带附件发送

场景

给每个客户发邮件时,附上对应的PDF发票(每个客户的发票文件名不同)。

完整流程:

(读取客户名单,同上) ForEach循环(name_list,索引i) → 当前姓名 = name_list[i] → 当前邮箱 = email_list[i] → 当前订单号 = order_list[i] → 构造附件路径: 附件路径 = "D:\发票\" + 当前订单号 + ".pdf" (每个订单的发票文件名是"订单号.pdf") → 指令:发送邮件 收件人:当前邮箱 主题:发票 - 订单号:{当前订单号} 正文:尊敬的客户,附件是您的发票,请查收。 附件:附件路径 (可以多个附件,用 | 分隔:附件1路径|附件2路径)

模块四:发送失败自动重试

场景

网络不稳定时,邮件可能发送失败,需要自动重试3次。

完整流程:

(读取客户名单,同上) ForEach循环(name_list,索引i) → 重试次数 = 0 → 发送成功 = False → While循环(条件:重试次数 < 3 且 发送成功 = False) → Try → 指令:发送邮件(同上) → 发送成功 = True → 把"发送成功"写入Excel Catch → 重试次数 = 重试次数 + 1 → 等待5秒(等网络恢复) → 如果重试次数 = 3 → 把"发送失败" + 错误信息 写入Excel

模块五:HTML格式邮件(更美观)

场景

想发HTML格式的邮件(有颜色、有按钮、有图片),而不是纯文本。

完整流程:

用Python代码块生成HTML正文:

defmain(args):name=args['name']order_id=args['order_id']amount=args['amount']html_body=f""" <html> <body> <p>尊敬的{name},您好!</p> <p>您的订单(订单号:<strong>{order_id}</strong>)已发货。</p> <p>订单金额:<span style="color:red;font-size:18px;">{amount}元</span></p> <p> <a href="https://logistics.xxx.com/{order_id}" style="background-color:#1E90FF;color:white;padding:10px 20px;text-decoration:none;border-radius:5px;"> 查看物流 </a> </p> <p>如有问题请联系客服。</p> <p>此致<br>销售部</p> </body> </html> """return{'html_body':html_body}

然后在影刀里:

指令:发送邮件 正文:= html_body 变量 (注意:有些邮件服务商会把HTML邮件当成垃圾邮件, 建议在SMTP服务器配置里开启"支持HTML"选项)

模块六:邮件自动分类(接收邮件)

场景

每天收到大量邮件,需要自动分类到不同文件夹(发票、客户反馈、系统通知)。

需要用Python的imaplib库(接收邮件):

defmain(args):importimaplib,email,os# 连接邮箱mail=imaplib.IMAP4_SSL('imap.qq.com')mail.login('your@qq.com','授权码')mail.select('inbox')# 搜索未读邮件status,messages=mail.search(None,'UNSEEN')formsg_numinmessages[0].split():status,msg_data=mail.fetch(msg_num,'(RFC822)')msg=email.message_from_bytes(msg_data[0][1])subject=msg['subject']# 邮件主题from_addr=msg['from']# 发件人# 分类逻辑if'发票'insubjector'invoice'insubject.lower():# 移动到"发票"文件夹mail.copy(msg_num,'发票')elif'客户反馈'insubject:mail.copy(msg_num,'客户反馈')elif'系统通知'insubject:mail.copy(msg_num,'系统通知')mail.close()mail.logout()return{'status':'success'}

模块七:常见报错与解决

报错1:SMTP认证失败(535 Login Fail)

原因:密码填错了,或者填的是登录密码不是授权码。

解决:

  • QQ/163邮箱:必须用授权码,不是登录密码
  • 企业邮箱:用登录密码
  • 检查SMTP服务器地址和端口是否正确

报错2:发送频率超限(554 DT:SPM)

原因:短时间内发送太多邮件,被服务商判定为垃圾邮件。

解决:

  • 每封邮件之间等待2-5秒
  • 每天发送量不要超过:QQ邮箱500封/天,163邮箱300封/天
  • 用多个邮箱轮换发送(需要多个SMTP配置)

报错3:附件太大发送失败

原因:邮件附件大小有限制(QQ邮箱单个附件最大50MB)。

解决:

  • 压缩附件到50MB以内
  • 或者把附件上传到云盘,邮件里发下载链接

TEMU店群如何管理运营?

报错4:HTML邮件被当成垃圾邮件

原因:HTML邮件容易被SPF/DKIM验证标记为垃圾邮件。

解决:

  • 使用正规企业邮箱发送(不是个人QQ邮箱)
  • 设置SPF/DKIM/DMARC记录(需要域名管理员配置)
  • 或者在邮件末尾加"如果无法显示请查看在线版本"的链接

模块八:子流程封装

邮件发送在很多流程里都要用,封装成子流程:

子流程1:发送单封邮件

  • 输入参数:收件人、主题、正文、附件路径(可选)
  • 输出参数:发送成功/失败
  • 功能:封装SMTP配置,带重试机制

子流程2:批量发送邮件(从Excel读取)

  • 输入参数:Excel文件路径
  • 输出参数:成功数量、失败数量、失败列表
  • 功能:读取Excel,逐行发送,失败自动记录

模块九:定时任务配置

邮件自动发送建议配置:

  • 批量发送客户通知:每天09:00执行(上班时间发送,打开率高)
  • 发票自动发送:每天14:00执行
  • 邮件自动分类:每30分钟执行一次

模块十:学习资源

邮件自动化是办公自动化的基础功能,几乎所有的RPA项目都会用到。

如果想看更多邮件自动化的案例(包括HTML邮件模板、多邮箱轮换发送、邮件接收自动分类),可以去 home.linyan.cloud 找对应的模板。


模块十一:速查表

邮箱类型SMTP服务器端口密码类型
QQ邮箱smtp.qq.com465授权码
163邮箱smtp.163.com465授权码
企业邮箱smtp.exmail.qq.com465登录密码
Gmailsmtp.gmail.com465应用专用密码
功能指令/方法注意事项
发送纯文本邮件发送邮件 指令正文用\n换行
发送HTML邮件发送邮件 指令 + Python生成HTML可能被当垃圾邮件
发送带附件邮件发送邮件 指令,附件参数多个附件用|分隔
接收邮件并分类Python + imaplib需要IMAP协议开启

#影刀RPA #邮件自动化 #办公RPA #新手入门

作者:林焱