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

如何用Power Automate下载并发送Outlook图片附件(无订阅)

无需Power Automate订阅,将Outlook图片附件以图片形式发送的方法

你尝试用Power Automate下载图片时,邮件正文显示数据而非图片,以下是你提供的Power Automate输出的附件数据:

"attachments": [
    {
      "@odata.type": "#microsoft.graph.fileAttachment",
      "id": "AAMkADU2MjNiNTU2LWY5YTAtNGM0MS1hNWQ5LTdmMTJlMTIzYWJkMQBGAAAAAABfK4moQ22ISJuBMsoGIcM6BwAAywrHK3zOT5jkS4DyLB8BAAHpvk0cAAAAywrHK3zOT5jkS4DyLB8BAAHpvl0DAAABEgAQAPen6EKm26ZJhIAv3bw2opc=",
      "lastModifiedDateTime": "2024-06-24T09:35:06+00:00",
      "name": "2ff5730931074c29be64df06c8126e97",
      "contentType": "image/png",
      "size": 204114,
      "isInline": true
    },
    {
      "@odata.type": "#microsoft.graph.fileAttachment",
      "id": "AAMkADU2MjNiNTU2LWY5YTAtNGM0MS1hNWQ5LTdmMTJlMTIzYWJkMQBGAAAAAABfK4moQ22ISJuBMsoGIcM6BwAAywrHK3zOT5jkS4DyLB8BAAHpvk0cAAAAywrHK3zOT5jkS4DyLB8BAAHpvl0DAAABEgAQANRa3svAlylEn6SII-zNjQk=",
      "lastModifiedDateTime": "2024-06-24T09:35:06+00:00",
      "name": "WeeklyAuditReport - (Page 1).png",
      "contentType": "application/octet-stream",
      "size": 240586,
      "isInline": false
    }
  ]

方法一:Outlook客户端手动操作

  • 处理内联图片(isInline: true):打开原邮件,选中正文里的内联图片,右键复制,粘贴到新邮件正文即可直接显示为图片。
  • 处理普通图片附件(isInline: false):右键点击附件,选择「插入」→「图片」,图片会嵌入到新邮件正文;若需保留附件形式,先右键保存附件为PNG格式,再添加到新邮件即可。

方法二:VBA脚本批量处理(适合多邮件场景)

如果需要批量处理,可通过Outlook VBA脚本自动提取图片并生成新邮件:

  1. 打开Outlook,按Alt+F11打开VBA编辑器。
  2. 插入模块,粘贴以下代码:
Sub SendImageAsInline()
    Dim objMail As Outlook.MailItem
    Dim objNewMail As Outlook.MailItem
    Dim objAttach As Outlook.Attachment
    
    Set objMail = Application.ActiveExplorer.Selection.Item(1)
    Set objNewMail = Application.CreateItem(olMailItem)
    
    With objNewMail
        .To = "目标邮箱地址" ' 替换为实际收件人邮箱
        .Subject = objMail.Subject & " - 图片版"
        .BodyFormat = olFormatHTML
        
        ' 遍历所有附件,提取图片
        For Each objAttach In objMail.Attachments
            If InStr(objAttach.ContentType, "image/") > 0 Or objAttach.FileName Like "*.png" Or objAttach.FileName Like "*.jpg" Then
                If objAttach.IsInline Then
                    ' 插入内联图片到正文
                    .HTMLBody = .HTMLBody & "<img src='cid:" & objAttach.FileName & "' />" & "<br>"
                    objAttach.SaveAsFile Environ("TEMP") & "\" & objAttach.FileName
                    .Attachments.Add Environ("TEMP") & "\" & objAttach.FileName, olByValue, 0, objAttach.FileName
                Else
                    ' 将普通图片附件转为内联显示
                    .Attachments.Add objAttach.PathName, olByValue, 0, objAttach.FileName
                    .HTMLBody = .HTMLBody & "<img src='cid:" & objAttach.FileName & "' />" & "<br>"
                End If
            End If
        Next
        
        .Display ' 预览邮件,如需直接发送替换为.Send
    End With
    
    ' 释放对象
    Set objMail = Nothing
    Set objNewMail = Nothing
    Set objAttach = Nothing
End Sub
  1. 运行脚本:在Outlook中选中目标邮件,按F5执行宏,即可生成包含图片的新邮件。

注意事项

  • 对于contentType为application/octet-stream的图片附件,Outlook通常会自动识别格式,直接插入即可;若识别失败,手动保存为PNG/JPG格式后再插入。
  • 使用VBA脚本需先在Outlook中启用宏:文件→选项→信任中心→信任中心设置→宏设置,选择「启用所有宏」(注意防范宏安全风险)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:43:18