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

使用Apps Script将Google Drive图片嵌入邮件模板失败求助

解决Google Drive图片嵌入邮件模板无法显示的问题

问题原因

你当前使用的是Google Drive的文件预览链接(带/view路径),这类链接用于在浏览器中打开文件预览,并非直接的图片资源地址,邮件客户端无法解析并加载图片。

解决方案

方法1:修改为直接访问的图片链接

将Drive文件链接转换为可直接获取图片资源的格式:

  • 原链接格式:https://drive.google.com/file/d/[文件ID]/view?usp=drive_link
  • 修改后格式:https://drive.google.com/uc?id=[文件ID]

针对你的图片,修改后的<img>标签应为:

<img src="https://drive.google.com/uc?id=1Ewi5KgPDOMYTy9ebFBate6rfw0IsoFIN" alt="图片描述"/>

注:确保已将图片权限设置为「知道链接的任何人可查看」,你已完成此操作,无需额外调整。

方法2:用Apps Script内联嵌入图片(更稳定)

直接依赖外部链接可能存在缓存或权限波动问题,使用内联嵌入能确保图片稳定显示:

  1. 通过文件ID获取Drive文件并提取Blob:
const imageFileId = "1Ewi5KgPDOMYTy9ebFBate6rfw0IsoFIN";
const imageBlob = DriveApp.getFileById(imageFileId).getBlob();
  1. 发送邮件时指定inlineImages参数关联图片:
MailApp.sendEmail({
  to: "recipient@example.com",
  subject: "邮件主题",
  htmlBody: '<p>这是嵌入的图片:<img src="cid:embeddedImage"/></p>',
  inlineImages: {
    embeddedImage: imageBlob // 键名需与html中的cid:xxx对应
  }
});

说明:HTML中的cid:embeddedImage需与inlineImages对象的键名完全一致,邮件客户端会自动匹配并显示内联图片。

额外注意

  • 如果你的文件是Google Docs/Slides/Sheets等文档,需先导出为图片格式(如PNG/JPG),再使用上述方法嵌入。
  • 内联嵌入方式不依赖外部链接,即使后续Drive链接权限调整,已发送的邮件仍能正常显示图片。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:57:10