Apps Script发送邮件时内嵌图片显示为附件的问题排查
Google Apps Script邮件内嵌图片失败的排查原因
- CID格式错误:模板里的
<img src="cid.logo">写法有误,正确的CID引用格式应为cid:logo(冒号替代句号),邮件客户端仅识别冒号分隔的CID标识。 - 发送参数错误:调用邮件发送方法时,必须将图片对象传入
inlineImages参数,而非普通的attachments参数。正确调用示例:
若传入MailApp.sendEmail({ to: "收件人邮箱", subject: "邮件主题", htmlBody: 你的模板HTML内容, inlineImages: logo // 此处传入内嵌图片对象 });attachments,图片会被当作普通附件而非内嵌资源。 - MIME类型不匹配:代码中
getAs("image/png")强制转换的MIME类型可能与原文件实际类型不符,导致客户端无法解析。可通过DriveApp.getFileById("文件ID").getMimeType()查看原文件类型,确保转换后的类型一致。 - 邮件客户端兼容性限制:部分企业邮箱或旧版邮件客户端对内嵌图片支持有限,会自动将其转为附件。可切换至Gmail、Outlook等主流客户端测试验证。
- Drive文件权限问题:若脚本运行账号没有该Drive文件的永久访问权限(如共享权限过期),可能导致图片数据不完整,客户端无法正常解析显示,仅能作为附件存在。需检查文件共享设置,确保脚本账号拥有有效访问权限。
内容的提问来源于stack exchange,提问作者Doc
相关产品推荐
相关产品推荐

