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

为何使用Power Automate无法向SharePoint列表附加文件与图片?

问题:Power Automate 从共享邮箱导入邮件到 SharePoint 列表时样式、图片、附件失效

我正在搭建一套从共享邮箱提取信息并添加至SharePoint列表的系统,使用MS Power Automate实现抓取导入。目前纯文本、链接可正常导入,但存在以下问题:

  • 邮件中的文本样式(如加粗、斜体、颜色等)无法保留
  • 邮件内的图片无法成功传输到列表
  • 邮件附件无法导入,且即使导入也无法在列表中打开

尝试过的方案:

  • 将邮件内容转为HTML后导入SharePoint列表,未解决格式问题
  • 考虑过将邮件转为PDF后添加至列表,但需要完全重构流程,希望先排查现有配置的细节问题再做改动

针对性排查与解决方法

1. 文本样式丢失问题

  • 确保Power Automate获取邮件内容时选择HTML格式的Body字段,而非纯文本字段。使用"Get email"动作时,直接调用body/Body即可(默认返回HTML内容)
  • SharePoint列表对应字段需设置为多行文本,并启用增强富文本属性:进入列表设置→找到目标字段→编辑属性,选择「增强富文本(允许文本格式、图片、表格等)」
  • 若仍有冗余样式干扰,可添加Compose动作,用正则表达式清洗HTML中的无效样式:
    replace(replace(outputs('Get_email')?['body/Body'], '<head>[\s\S]*?</head>', ''), '<style>[\s\S]*?</style>', '')
    
    注意:需开启Compose动作的「允许正则表达式」选项

2. 嵌入式图片无法显示问题

邮件内的嵌入式图片依赖CID(Content-ID)引用,直接导入HTML会因路径失效无法显示,解决步骤:

  1. 添加Get email attachments动作,筛选出IsInline属性为true的附件(即嵌入式图片)
  2. 使用Upload file动作将这些图片上传到SharePoint文档库,获取图片的ServerRelativeUrl
  3. 通过Compose动作替换HTML中的CID引用为SharePoint图片URL,示例表达式:
    replace(outputs('Get_email')?['body/Body'], 'cid:image001.png', '@{outputs('Upload_file')?['body/ServerRelativeUrl']}')
    
  • 若为外部链接图片,需确认SharePoint站点允许加载外部资源(检查站点权限和内容安全策略)

3. 附件无法导入/打开问题

  • 使用Add attachment动作,目标选择SharePoint列表项,附件内容取邮件附件的Content Bytes字段,文件名取Name字段
  • 验证共享邮箱权限:确保Power Automate所用账号拥有共享邮箱的**完整读取(包括附件)**权限
  • 检查附件完整性:在Add attachment前添加Compose动作输出附件大小,与原邮件附件大小对比,确认传输未损坏

4. 通用排查步骤

  • 查看Power Automate运行历史,检查每个动作的输入输出,确认字段取值是否正确(比如误选纯文本Body)
  • 核对SharePoint字段类型:附件对应列表的附件字段,富文本内容对应增强富文本字段,避免类型不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:05:37