如何在UiPath中发送带批准/拒绝按钮的邮件并获取用户回复?
嘿,作为UiPath新手,要实现带Approve/Reject按钮的邮件并获取反馈其实没那么复杂,我给你拆解成两个核心环节,一步步来就好:
一、发送带交互审批按钮的邮件
这里有两种主流实现方式,你可以根据自己的环境选:
方式1:用Exchange/Outlook内置投票按钮(最简单)
这种方式适合公司用Outlook/Exchange邮箱的场景,不用写代码,直接配置就行:
- 在UiPath里拖入
Send Outlook Mail Message活动 - 找到活动属性面板里的VotingOptions,输入
Approve;Reject(注意用英文分号分隔,不要加空格) - 正常填写收件人、邮件主题、正文内容
- 发送后,用户在Outlook里收到邮件时,会直接看到「Approve」和「Reject」的投票按钮,点击后系统会自动把反馈发回你的邮箱
方式2:自定义HTML按钮(更灵活,适合非Outlook环境)
如果用户不用Outlook,或者你想要更个性化的按钮样式,可以用HTML邮件实现:
- 同样拖入
Send Outlook Mail Message,把BodyFormat属性改成Html - 在Body里填入类似下面的HTML代码:
<p>请审批以下请求:</p> <div style="margin: 10px 0;"> <a href="mailto:你的邮箱地址?subject=审批反馈&body=Approve" style="padding: 8px 16px; background: #28a745; color: white; text-decoration: none; border-radius: 4px;">Approve</a> <a href="mailto:你的邮箱地址?subject=审批反馈&body=Reject" style="padding: 8px 16px; background: #dc3545; color: white; text-decoration: none; border-radius: 4px; margin-left: 10px;">Reject</a> </div>
- 原理是:用户点击按钮后,会自动打开默认邮件客户端,填好预设的主题和反馈内容,用户发送后你就能收到反馈邮件
二、捕获用户的审批反馈
对应上面两种发送方式,反馈捕获的方法也不同:
对应方式1:捕获Outlook投票反馈
- 拖入
Get Outlook Mail Messages活动,配置你的收件箱 - 在Filter属性里写过滤条件,只抓取有投票反馈的邮件:
[Subject] = "你的原邮件主题" AND [VotingResponse] <> "" - 用
For Each循环遍历抓取到的邮件,通过item.VotingResponse就能直接拿到用户选的是「Approve」还是「Reject」 - 把这个值存到变量里,后续就能用它做流程分支(比如批准就执行后续业务,拒绝就发通知)
对应方式2:捕获HTML按钮的邮件反馈
- 同样用
Get Outlook Mail Messages,Filter设为:[Subject] = "审批反馈" - 遍历邮件,读取
item.Body或者item.Subject来判断反馈内容(比如Body里是「Approve」就标记为批准) - 建议加个
Mark As Read活动,避免重复处理同一封反馈邮件
三、新手避坑提示
- 确保你的UiPath项目已经安装了UiPath.Mail.Activities包,在「Manage Packages」里搜索就能安装
- 用Outlook活动的话,要先确保本地Outlook已经登录,或者在活动里配置Exchange服务器信息
- 测试的时候可以先给自己发邮件,验证按钮显示和反馈捕获是否正常
内容的提问来源于stack exchange,提问作者Punya Munasinghe




