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

Azure Logic Apps:如何从存储Blob URL获取原样格式的邮件内容

解决Azure Logic Apps存储带图片邮件至Blob后仅显示纯HTML的问题

核心问题原因

邮件中的内嵌图片通常以cid:格式引用(比如<img src="cid:logo.png">),直接存储原始HTML到Blob时,cid路径无法在Blob的HTTP访问环境中解析,导致图片无法加载,看起来像纯HTML内容。

具体解决方案

方案1:处理内嵌图片为Base64编码(网页形式显示完整邮件)

  1. 获取邮件完整HTML与附件信息
    • 使用Office 365 Outlook的Get Email (V2)操作,获取邮件的Body HTML内容,同时拿到所有附件集合。
  2. 初始化变量存储处理后的HTML
    • 添加Initialize variable操作,变量类型选String,初始值设为邮件的Body HTML字段。
  3. 遍历替换内嵌图片的cid引用
    • 添加Apply to each操作,遍历邮件的Attachments集合:
      • 加Condition判断,检查当前附件的IsInline属性是否为true(确认是内嵌图片)。
      • 条件满足时,执行Set variable操作,把变量中所有cid:[当前附件Name]的字符串,替换为data:[当前附件ContentType];base64,[当前附件ContentBytes]。
  4. 存储处理后的HTML到Blob
    • 执行Create Blob操作:
      • Blob内容选择刚才处理好的变量。
      • 内容类型必须设为text/html。
      • Blob名称建议带上时间戳,比如email-@{utcNow('yyyyMMddHHmmss')}.html。

方案2:存储完整邮件MIME内容(邮件客户端打开原样)

如果需要保存完全原始的邮件格式(包括邮件头、所有附件和内嵌资源),可以直接存储邮件的MIME Content字段:

  1. 在Get Email (V2)操作中,开启“显示高级选项”,找到MIME Content字段。
  2. 执行Create Blob操作:
    • Blob内容设为MIME Content。
    • 内容类型设为message/rfc822。
    • 下载Blob文件后,用Outlook等邮件客户端打开即可看到完整原样邮件。

注意事项

  • 不要直接使用邮件的Body纯文本字段,必须选择Body HTML才能保留格式。
  • 替换cid时要确保附件的Name和HTML中的cid名称完全匹配(注意大小写)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:34:53