You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Logic Apps中按文件类型分类邮件及附件并上传至Blob存储

Logic Apps 提取分类Excel附件并上传Blob实现方案

一、核心流程搭建

  • 触发逻辑:使用Office 365 Outlook连接器的「当收到新邮件(V3)」触发器,指定监控的收件箱。
  • 获取附件:添加「获取邮件附件」动作,关联触发器输出的邮件ID,拉取当前邮件的所有附件数据。

二、附件类型判断与Blob上传

添加「应用到每一个」循环,循环对象选择「获取邮件附件」返回的附件列表,在循环内添加分支判断:

  1. 判断宏Excel文件(.xlsm):
    • 条件规则:endsWith(toLower(items('应用到每一个')?['Name']), '.xlsm')
    • 满足条件时,添加「创建Blob」动作:选择目标存储账户和容器,设置文件夹路径为xlsm-files/,Blob名称填items('应用到每一个')?['Name'],Blob内容填items('应用到每一个')?['ContentBytes']。
  2. 判断普通Excel文件(.xlsx):
    • 在上述条件的「否则」分支里,添加嵌套条件:endsWith(toLower(items('应用到每一个')?['Name']), '.xlsx')
    • 满足条件时,添加「创建Blob」动作:文件夹路径设为xlsx-files/,其他参数同xlsm的上传配置。

三、邮件分类处理

根据需求选择以下分类方式:

  • 标记邮件类别:
    1. 初始化两个布尔变量hasXlsm和hasXlsx,默认值为false。
    2. 在附件判断的对应分支里,分别将变量设为true。
    3. 循环结束后,添加「更新邮件」动作:
      • 若hasXlsm为true且hasXlsx为true:设置邮件类别为「混合Excel文件」
      • 若仅hasXlsm为true:设置类别为「宏Excel文件」
      • 若仅hasXlsx为true:设置类别为「普通Excel文件」
  • 移动邮件到专属文件夹:
    循环结束后,根据变量判断结果,添加「移动邮件」动作,将邮件移至邮箱内预先创建的「XLSM邮件」「XLSX邮件」或「混合Excel邮件」文件夹。
  • 添加自定义标签:
    使用「应用邮件标签」动作,给不同类型的邮件打上对应的标签(需提前在Outlook中创建好标签)。

四、关键注意事项

  • 权限配置:确保Logic Apps拥有目标邮箱的读取/修改权限,以及Blob存储账户的写入权限。
  • 大小写兼容:通过toLower()函数统一转换附件名称,避免因扩展名大小写(如.XLSM)导致判断失败。
  • 多附件处理:循环会逐个处理附件,变量记录法能准确识别邮件是否包含多种类型的Excel附件,避免重复分类。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:10:56