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

Power Automate中如何区分邮件签名图片与插入图片并排除前者?

区分邮件签名图片与正文/附件图片的实用方法

以下是几个在Power Automate中可行的方案,替代不靠谱的文件名过滤:

1. 解析邮件HTML结构定位签名区块

邮件签名通常会被包裹在特定的HTML标签中(比如div.mso-signature、span.signature这类类名),可以通过以下步骤处理:

  • 获取邮件的Body HTML内容
  • 使用正则表达式或字符串截取,定位签名区块的范围(比如匹配<div class="mso-signature">到</div>之间的内容)
  • 从签名区块中提取所有图片的cid:引用(格式类似cid:image001.png@01D9XXXX)
  • 遍历邮件附件时,检查附件的ContentId是否和提取到的cid值匹配,匹配的即为签名图片,直接跳过

2. 利用签名分隔符判断位置

很多邮件会用--、---这类分隔符区分正文和签名,结合HTML分析:

  • 先把邮件HTML转为纯文本,找到分隔符的位置
  • 回到HTML内容,确定分隔符对应的HTML节点位置,以此为界,只处理分隔符之前的图片引用
  • 同样对比附件的ContentId,排除分隔符之后区域引用的图片

3. 基于图片哈希值的重复签名过滤

如果同一个发件人常用固定签名图片,可以记录其哈希值来过滤:

  • 对首次遇到的发件人,先保存其签名图片的文件哈希(Power Automate可以用Get file hash动作)
  • 后续处理该发件人的邮件时,计算图片附件的哈希值,和已记录的签名哈希匹配的就排除
  • 这个方法需要配合存储(比如OneDrive里的配置文件、Dataverse表)来记录哈希和发件人的对应关系

Power Automate操作示例片段

比如用正则提取签名里的ContentId:

  1. 添加Compose动作,输入正则表达式:<div class="mso-signature">.*?<img.*?src="cid:(.*?)".*?>.*?</div>(根据实际HTML结构调整)
  2. 用Matches动作执行正则匹配,获取所有匹配到的ContentId
  3. 遍历邮件附件时,添加条件:Attachment Content Type包含image/,且ContentId不在匹配到的列表中
  4. 满足条件的图片才执行保存到OneDrive并关联Planner任务的操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:17:06