You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在BluePrism开发RPA时,如何用Mapiex保存Outlook邮件附件?

在BluePrism中通过MAPIEX从Outlook下载Excel附件的完整步骤

刚巧我之前在BluePrism里做过类似的RPA开发,给你梳理一套亲测可行的操作流程,一步步来就行:

一、前置准备

  • 确认你的BluePrism已经安装了MAPIEX扩展(默认安装包会自带,如果没有的话,去BluePrism的扩展库搜索添加即可)
  • 确保运行BluePrism的用户账号已经配置好Outlook邮箱,并且拥有该邮箱的完全访问权限(避免后续出现权限报错)

二、创建可复用的操作对象(推荐)

建议把邮件操作封装成一个独立的BluePrism Object,这样后续其他流程也能直接调用:

  1. 打开BluePrism,新建一个Object,命名比如Outlook_Attachment_Downloader
  2. 在这个Object里添加MAPIEX的核心Actions:ConnectGet MessagesGet AttachmentsSave AttachmentDisconnect

三、具体操作流程

1. 连接到Outlook

  • 拖入MAPIEX > Connect Action,不需要额外参数(默认连接当前用户的Outlook配置文件);如果需要指定特定配置文件,在Profile Name参数里填写对应的名称
  • 执行后会返回一个Session ID,后续所有MAPIEX操作都要用到这个ID,一定要保存好

2. 筛选目标邮件

  • 拖入MAPIEX > Get Messages Action,传入之前获取的Session ID
  • 设置筛选条件:比如指定文件夹(比如"Inbox")、发件人邮箱、主题关键词(比如"月度报表")、时间范围(比如近7天),按需调整即可
  • 这个Action会返回一个Message Collection,包含所有符合条件的邮件的详细信息(比如Message ID、主题、发件人等)

3. 遍历邮件并筛选Excel附件

  • 添加一个Loop循环,遍历Message Collection里的每一条邮件
  • 对每一条邮件,拖入MAPIEX > Get Attachments Action,传入Session ID和当前邮件的Message ID,返回Attachment Collection(包含所有附件的文件名、类型、Attachment ID等信息)
  • 再添加一个嵌套Loop,遍历Attachment Collection,通过判断Attachment Name的后缀来筛选Excel文件——比如判断是否以.xlsx.xls结尾(可以用BluePrism的Right函数提取后缀,或者直接用Contains函数匹配)

4. 保存Excel附件到指定路径

  • 对筛选出来的Excel附件,拖入MAPIEX > Save Attachment Action
  • 传入参数:Session ID、当前邮件的Message ID、附件的Attachment ID,以及目标保存路径(比如C:\RPA_Output\Excel_Files\
  • 注意:如果目标路径不存在,先用File Management > Create Directory Action创建文件夹,避免保存失败

5. 释放资源

  • 所有操作完成后,一定要拖入MAPIEX > Disconnect Action,传入Session ID,关闭Outlook连接,避免占用系统资源

四、关键注意事项

  • 确保Outlook在后台正常运行,或者BluePrism运行时有权限启动Outlook(不要用系统账户运行BluePrism,最好用配置了邮箱的普通用户账户)
  • 如果遇到"程序无法访问Outlook"的权限报错,去Outlook的信任中心设置,允许第三方程序访问邮件
  • 有些邮件附件的文件名可能包含非法字符(比如/\:*?"<>|),保存前建议用Replace函数替换掉这些字符,避免保存失败

内容的提问来源于stack exchange,提问作者anandhu

火山引擎 最新活动