影刀RPA 流程执行结果通知的多种方案:邮件微信钉钉飞书全覆盖
影刀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通知msgf##{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):msgMIMEMultipart()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:server.login(from_email,password)server.sendmail(from_email,to_emails,msg.as_string())# QQ邮箱示例send_email(影刀流程通知,今日数据采集完成共采集1234条,[yourqq.com],senderqq.com,smtp.qq.com,465,你的QQ邮箱授权码)注意QQ邮箱/163邮箱要用授权码而不是登录密码。在邮箱设置里生成。5. Server酱个人微信推送最简单的方式微信收到提醒defnotify_wx(title,content,send_key):通过Server酱推送到微信urlfhttps://sctapi.ftqq.com/{send_key}.sendrequests.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],configNone): channels: [wecom,dingtalk,email,wx] forchinchannels:try:ifchwecom:notify_wecom_md(title,content,config[wecom_webhook])elifchdingtalk:notify_dingtalk(f{title}\n{content},config[dingtalk_webhook])elifchemail:[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])elifchwx:notify_wx(title,content,config[wx_key])exceptExceptionase:print(f通知渠道{ch}发送失败:{e})# 调用notify(数据采集完成,共采集1234条,channels[wecom,wx],configconfig)通知策略设计defreport_result(stats):根据执行结果选择通知级别success_ratestats[success]/max(stats[total],1)*100ifsuccess_rate100:notify(✅ 流程执行完成,f全部{stats[total]}条处理成功)elifsuccess_rate80:notify(⚠️ 流程执行完成部分失败,f成功{stats[success]}条失败{stats[failed]}条\n成功率{success_rate:.1f}%)else:notify( 流程执行异常,f成功率仅{success_rate:.1f}%\n成功{stats[success]}失败{stats[failed]}\n请立即检查)踩坑实录坑1QQ邮箱发送频率限制QQ邮箱限制了SMTP发送频率每小时X封。如果流程每分钟发一次采集完成很快就会被限。合理频率有变化时才发、汇总发而不是逐条发。坑2群机器人消息过长被截断企业微信文本消息限制2048字节Markdown限制4096字节。超长的报告内容应该用文件消息或者把详情放链接里。坑3所有渠道都发重复通知有人配了微信企微钉钉邮件四种通知结果每次流程结束手机狂震。建议重要通知用企业微信及时性日常报告用邮件可回溯紧急告警加Server酱强提醒。写在最后通知机制是RPA流程的感官。没有通知你根本不知道流程在干什么——跑完了没、跑挂了没、数据对不对。配好通知后你才能真正放心让RPA自动运行。