news 2026/6/13 23:46:52

影刀RPA实操指南_自动发送邮件从SMTP配置到带附件定时报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
影刀RPA实操指南_自动发送邮件从SMTP配置到带附件定时报告

影刀RPA实操指南:自动发送邮件从SMTP配置到带附件定时报告

想象一下这个场景:

你凌晨三点被闹钟叫醒,打开电脑,登录邮箱,把昨晚采集好的数据报告发出去。

发完之后才想起——这个流程影刀明明可以自动跑。

是的,邮件发送是RPA自动化里最容易被忽略的"收尾环节"。

数据采了、报表生成了、图表画好了,结果最后一步"发送"还是人在点。

这篇文章带你彻底解决这个问题。


影刀发送邮件的四种方式

方式适用场景难度
影刀内置"发送邮件"指令最简单,适合个人QQ/163邮箱
Python smtplib灵活,适合企业邮箱/Exchange⭐⭐
企业微信邮件公司用企业微信生态
网页操作模拟万不得已的备选方案⭐⭐⭐

大多数场景,前两种就够了。


方式一:影刀内置邮件指令(最简单)

影刀提供了开箱即用的"发送邮件"指令。

QQ邮箱配置

QQ邮箱的SMTP默认是关闭的,需要先去开启。

开启步骤

  1. 登录QQ邮箱 → 设置 → 账户
  2. 找到"POP3/IMAP/SMTP服务"
  3. 开启"IMAP/SMTP服务"
  4. 验证密保后,会得到一个授权码(不是QQ密码!)

影刀指令配置

指令:发送邮件 SMTP服务器:smtp.qq.com 端口:465(SSL) 发件人邮箱:你的QQ号@qq.com 授权码:刚才获取的16位授权码 收件人:target@example.com 邮件主题:每日销售数据报告 - 2024-01-15 邮件正文:<你的正文内容> 附件:D:/reports/sales_report.xlsx

163邮箱同理

SMTP服务器:smtp.163.com 端口:465(SSL) 授权码:在163邮箱设置里开启SMTP后获取 [video(video-AO9YhWbY-1781341387932)(type-csdn)(url-https://live.csdn.net/v/embed/525000)(image-https://v-blog.csdnimg.cn/asset/23da3fe1f67a47106d725406cfde9a97/cover/Cover0.jpg)(title-拼多多店群自动化上架方案)]

多收件人

多个收件人用逗号分隔:

收件人:user1@qq.com,user2@163.com,user3@company.com

也可以加上"抄送"和"密送"字段。


方式二:Python发送邮件(灵活版)

内置指令好用的前提是:你的邮箱支持标准SMTP。

遇到Exchange企业邮箱、需要自定义邮件头、发送HTML富文本邮件时,Python方案更灵活。

基础脚本

importsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartfromemail.mime.baseimportMIMEBasefromemailimportencodersimportosdefsend_email(subject,body,to_emails,attachments=None):# QQ邮箱SMTP配置smtp_server="smtp.qq.com"smtp_port=465sender="your_email@qq.com"password="你的授权码"# 构建邮件msg=MIMEMultipart()msg['From']=sender msg['To']=', '.join(to_emails)msg['Subject']=subject# 添加正文msg.attach(MIMEText(body,'plain','utf-8'))# 添加附件ifattachments:forfile_pathinattachments:withopen(file_path,'rb')asf:part=MIMEBase('application','octet-stream')part.set_payload(f.read())encoders.encode_base64(part)filename=os.path.basename(file_path)part.add_header('Content-Disposition',f'attachment; filename="{filename}"')msg.attach(part)# 发送withsmtplib.SMTP_SSL(smtp_server,smtp_port)asserver:server.login(sender,password)server.send_message(msg)print(f'邮件已发送:{subject}')# 使用send_email(subject='每日数据报告 2024-01-15',body='请看附件中的销售数据。',to_emails=['boss@company.com','colleague@company.com'],attachments=['D:/reports/sales_report.xlsx','D:/reports/chart.png'])

发送HTML邮件

有时候你想发一封排版好看的邮件:

html_body=""" <html> <body> <h2>今日数据概览</h2> <table border="1" cellpadding="8" style="border-collapse:collapse"> <tr style="background:#1890ff;color:white"> <th>指标</th><th>今日</th><th>昨日</th><th>变化</th> </tr> <tr> <td>销售额</td><td>¥25,800</td><td>¥22,100</td> <td style="color:#52c41a">+16.7%</td> </tr> </table> <p>详细数据见附件。</p> </body> </html> """msg.attach(MIMEText(html_body,'html','utf-8'))

用HTML邮件替代纯文本,报告看起来专业一个档次。

163企业邮箱

很多公司用163/阿里企业邮箱,SMTP配置如下:

# 163企业邮箱smtp_server="smtp.qiye.163.com"smtp_port=465# 或 587(TLS)# 阿里企业邮箱smtp_server="smtp.mxhichina.com"smtp_port=465

端口如果465连不上,换587试试。


实战:数据采集 → 报告生成 → 邮件发送全链路

把前面学的内容串起来,做一个完整的自动化。

流程结构

影刀主流程: ├─ 1. 电商数据采集(采集今日商品价格) ├─ 2. 数据写入Excel:daily_price.xlsx ├─ 3. Python脚本生成图表: │ python generate_chart.py │ → 生成 price_trend.png ├─ 4. 构建邮件正文: │ 设置变量 email_body = 拼接今日数据摘要 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a59f33ceb8a94df2a94174648f42084e.png#pic_center) ├─ 5. 发送邮件: │ 收件人:boss@company.com │ 附件:daily_price.xlsx + price_trend.png │ 正文:email_body └─ 6. 发送企微通知: │ 每日报告已发送至邮箱

关键点:邮件正文动态拼接

不要写死正文内容,让它随数据变化:

设置变量 email_body = "" 今天共监控 {{total_count}} 个SKU 价格波动 {{changed_count}} 个,其中上涨 {{up_count}} 下降 {{down_count}} 波动最大SKU:{{max_change_sku}},变化幅度 {{max_change_pct}}% 请查收附件中的详细数据。

影刀的变量拼接用{{变量名}}语法。


常见错误与解决

错误1:535 Authentication Failed

smtplib.SMTPAuthenticationError: (535, b'Login Fail')

原因:密码错了。

解决:QQ/163邮箱必须用授权码,不是邮箱登录密码。去邮箱设置里重新获取授权码。

错误2:Connection Refused

ConnectionRefusedError: [WinError 10061]

原因:端口被封或选错了。

解决:

  • 先用ping smtp.qq.com测试网络
  • 465不行换587
  • 公司网络可能封了SMTP端口,试试用手机热点测试

错误3:附件中文名乱码

# 错误写法filename="每日报告.xlsx"# 正确写法fromemail.headerimportHeader filename=Header("每日报告.xlsx",'utf-8').encode()

错误4:邮件进了垃圾箱

原因:发件频率太高、内容被判定为垃圾邮件。

解决:

  • 每次发送间隔至少30秒
  • 正文不要全是链接和数字
  • 加一句"如不需要此报告请回复退订"(虽然是自动化,但保持礼貌)

TEMU店群如何管理运营?


什么时候用邮件,什么时候用企微

场景推荐渠道
需要正式存档邮件
发送附件(Excel/PDF)邮件
多人审批流转邮件
即时告警通知企业微信/钉钉
团队群内通报企业微信
外部合作伙伴邮件
日报/周报都可以,看公司习惯

一句话:正式报告走邮件,即时通知走企微。


定时发送的注意事项

邮件发送和定时任务配合时,有几个坑:

1. 不要凌晨发送

凌晨3点的邮件,收件人会觉得你在加班或者流程出了bug。

设置在工作时间发送(如每天9:00或周一9:30),更自然。

2. 加"发送失败"的兜底

邮件发送可能因为网络、授权码过期等各种原因失败。

try:send_email(...)print('发送成功')exceptExceptionase:print(f'发送失败:{e}')# 写到本地日志# 发送企微告警给开发者

永远不要假设邮件一定会发成功。

3. 授权码定期检查

QQ邮箱的授权码有时候会过期。在每月1号让流程给自己发一封测试邮件,如果没有收到就说明授权码该换了。


总结

自动发送邮件是RPA自动化链条的"最后一公里"。

数据采了、报表做了、图表画了,如果还需要人手动发送,前面的自动化就只完成了80%。

影刀内置的"发送邮件"指令满足大部分需求,需要灵活定制时切到Python smtplib。

记得获取正确的授权码、处理好附件中文名、加上失败兜底逻辑。

让数据自己跑到收件人的邮箱里——这才是完整的自动化。


内容标签:#影刀RPA #邮件自动化 #SMTP #Python #定时报告
作者:林焱
系列:影刀RPA实操指南系列——从单点指令到端到端自动化解决方案

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 23:42:53

掌控AMD Ryzen性能的钥匙:SMUDebugTool全面解析与实战指南

掌控AMD Ryzen性能的钥匙&#xff1a;SMUDebugTool全面解析与实战指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…

作者头像 李华
网站建设 2026/6/13 23:40:55

(七) YModbus寄存器类型转换:int、float、double和字节序

GitHub 项目地址&#xff1a;https://github.com/lidecong133/YModbus 保持寄存器读出来是 ushort[]。 这很符合 Modbus 协议&#xff0c;但不太符合人看数据的习惯。 现场你想看的通常不是 16856 这种原始寄存器值&#xff0c;而是温度 23.5、压力 1.25、计数器 123456。这些…

作者头像 李华
网站建设 2026/6/13 23:40:16

3PEAK思瑞浦 TPR8601-EV1R-S EMSOP8 特殊功能电路

特性 优异匹配性 TPR86xxA:在-40C至125C范围内匹配度为0.0125% TPR86xx:在-40C至125C范围内匹配度为0.025% .匹配温度漂移:0.1ppm/C工作温度范围:-40C至125C

作者头像 李华
网站建设 2026/6/13 23:37:04

揭秘AI图层分离神器:layerdivider如何让设计师告别手动抠图

揭秘AI图层分离神器&#xff1a;layerdivider如何让设计师告别手动抠图 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider layerdivider是一款基于AI的智能图…

作者头像 李华
网站建设 2026/6/13 23:36:56

Elsevier Tracker:科研工作者的审稿进度智能监控解决方案

Elsevier Tracker&#xff1a;科研工作者的审稿进度智能监控解决方案 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker Elsevier Tracker是一款专为科研作者设计的Chrome浏览器插件&#xff0c;它能够实时监控Elsevie…

作者头像 李华