影刀RPA 流程执行结果通知的多种方案:邮件微信钉钉飞书全覆盖
2026/7/25 22:13:45 网站建设 项目流程

影刀RPA 流程执行结果通知的多种方案:邮件微信钉钉飞书全覆盖

作者:林焱

流程跑完了、跑挂了、跑到一半发现数据异常——这些情况都需要通知你。这篇文章把影刀流程中所有常用的通知方式整理清楚,每种给出可直接复制的代码模板。

方案总览

方式延迟配置难度适用场景
企业微信<1秒简单团队协作
钉钉<1秒简单(免费版)/中(付费版需签名)企业内部
飞书<1秒中等企业内部
邮件1-10秒简单正式通知
Server酱(WxPusher)<3秒简单个人微信通知
短信3-30秒困难(需付费)紧急告警

1. 企业微信(推荐首选)

defnotify_wecom(msg,webhook_url):"""企微群机器人文本通知"""requests.post(webhook_url,json={"msgtype":"text","text":{"content":msg}})defnotify_wecom_md(title,content,webhook_url):"""企微群机器人Markdown通知"""msg=f"##{title}\n> 时间:{datetime.now().strftime('%H:%M:%S')}\n\n{content}"requests.post(webhook_url,json={"msgtype":"markdown","markdown":{"content":msg}})

2. 钉钉

拼多多店群自动化报活动上架!

defnotify_dingtalk(msg,webhook_url):"""钉钉群机器人"""requests.post(webhook_url,json={"msgtype":"text","text":{"content":msg}})

注意:新版钉钉机器人需要签名校验。如果你用的是老版(有webhook就能发),不用加签名。如果是新版(需要加签),代码要复杂一些——建议用企业微信替代。

3. 飞书

defnotify_feishu(msg,webhook_url):"""飞书群机器人"""requests.post(webhook_url,json={"msg_type":"text","content":{"text":msg}})

飞书也支持富文本卡片(交互式消息),可以做按钮交互,但设置复杂度较高。文本消息够用。

4. 邮件

importsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartdefsend_email(subject,body,to_emails,from_email,smtp_server,smtp_port,password):msg=MIMEMultipart()msg["Subject"]=subject msg["From"]=from_email msg["To"]=", ".join(to_emails)msg.attach(MIMEText(body,"plain","utf-8"))withsmtplib.SMTP_SSL(smtp_server,smtp_port)asserver:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/80ac98d4f1e04cb8bbdec503b2f3abbb.png#pic_center)server.login(from_email,password)server.sendmail(from_email,to_emails,msg.as_string())# QQ邮箱示例send_email("影刀流程通知","今日数据采集完成,共采集1234条",["your@qq.com"],"sender@qq.com","smtp.qq.com",465,"你的QQ邮箱授权码")

注意:QQ邮箱/163邮箱要用授权码而不是登录密码。在邮箱设置里生成。

5. Server酱(个人微信推送)

最简单的方式,微信收到提醒:

defnotify_wx(title,content,send_key):"""通过Server酱推送到微信"""url=f"https://sctapi.ftqq.com/{send_key}.send"requests.post(url,data={"title":title,"desp":content})# 注册 server酱 (sct.ftqq.com) 获取send_keynotify_wx("采集完成","今日采集1234条商品数据\n成功率98.5%","SCTxxxxx")

免费版每天5条,够个人用了。

统一通知函数

在一个函数里整合所有方式,按需选择:

defnotify(title,content,channels=["wecom"],config=None):""" channels: ["wecom","dingtalk","email","wx"] """forchinchannels:try:ifch=="wecom":notify_wecom_md(title,content,config["wecom_webhook"])elifch=="dingtalk":notify_dingtalk(f"{title}\n{content}",config["dingtalk_webhook"])elifch=="email":[video(video-8oAsgdhk-1784481987195)(type-csdn)(url-https://live.csdn.net/v/embed/526817)(image-https://v-blog.csdnimg.cn/asset/1d3c3709da119dd8c13ab01e9b282520/cover/Cover0.jpg)(title-TEMU店群矩阵自动化运营核价报活动)]send_email(title,content,config["to_emails"],**config["smtp"])elifch=="wx":notify_wx(title,content,config["wx_key"])exceptExceptionase:print(f"通知渠道{ch}发送失败:{e}")# 调用notify("数据采集完成","共采集1234条",channels=["wecom","wx"],config=config)

通知策略设计

defreport_result(stats):"""根据执行结果选择通知级别"""success_rate=stats["success"]/max(stats["total"],1)*100ifsuccess_rate==100:notify("✅ 流程执行完成",f"全部{stats['total']}条处理成功")elifsuccess_rate>=80:notify("⚠️ 流程执行完成(部分失败)",f"成功{stats['success']}条,失败{stats['failed']}条\n成功率{success_rate:.1f}%")else:notify("🚨 流程执行异常",f"成功率仅{success_rate:.1f}%!\n成功{stats['success']},失败{stats['failed']}\n请立即检查!")

踩坑实录

坑1:QQ邮箱发送频率限制

QQ邮箱限制了SMTP发送频率(每小时X封)。如果流程每分钟发一次"采集完成",很快就会被限。合理频率:有变化时才发、汇总发而不是逐条发。

坑2:群机器人消息过长被截断

企业微信文本消息限制2048字节,Markdown限制4096字节。超长的报告内容应该用文件消息,或者把详情放链接里。

坑3:所有渠道都发,重复通知

有人配了微信+企微+钉钉+邮件四种通知,结果每次流程结束手机狂震。建议:重要通知用企业微信(及时性),日常报告用邮件(可回溯),紧急告警加Server酱(强提醒)。

写在最后

通知机制是RPA流程的"感官"。没有通知,你根本不知道流程在干什么——跑完了没、跑挂了没、数据对不对。配好通知后,你才能真正放心让RPA自动运行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询