Google Sheets App Script邮件系统故障排查求助
Google Sheets + App Script 邮件系统问题解决方案
问题1:邮件主题占位符未替换
可能原因及修复方法
- 未对主题执行替换逻辑:多数情况是代码只处理了邮件正文的占位符,遗漏了主题部分。
修复代码示例:// 假设从表格获取收件人姓名 const recipientName = sheet.getRange(row, 2).getValue(); // 原始主题模板 let subjectTemplate = "<nome>, 我们想念您"; // 对主题执行替换 let emailSubject = subjectTemplate.replace("<nome>", recipientName); - 占位符格式不匹配:检查模板中的占位符是否和代码里的替换字符串完全一致(比如大小写、符号,是否是
<nome>而非{{nome}}或<Nome>)。 - 变量值为空:确认从Google Sheets读取的姓名单元格不为空,可通过
console.log(recipientName)打印验证。
问题2:嵌入图片无法调整宽高
不同嵌入方式的修复方案
- 内嵌图片(inlineImages)场景:
若通过inlineImages参数嵌入图片,需在HTML正文的<img>标签中直接指定宽高或内联样式:const imageBlob = DriveApp.getFileById("你的图片文件ID").getBlob(); let htmlBody = ` <div> <p>您好,<nome></p> <!-- 直接设置宽高属性 --> <img src="cid:missYouImg" width="350" height="250" /> <!-- 或用内联样式更兼容 --> <img src="cid:missYouImg" style="width:350px; height:auto;" /> </div> `; // 发送邮件时关联内嵌图片 MailApp.sendEmail({ to: recipientEmail, subject: emailSubject, htmlBody: htmlBody.replace("<nome>", recipientName), inlineImages: { missYouImg: imageBlob } }); - 外链图片场景:
若使用网络图片URL,确保<img>标签的样式是内联写法(部分邮件客户端不识别外部CSS):<img src="https://example.com/your-image.jpg" style="width:300px; max-width:100%; height:auto;" /> - 注意邮件客户端限制:部分邮箱会自动缩放大图片,建议设置
max-width:100%确保在移动端适配。
内容的提问来源于stack exchange,提问作者Darcount
相关产品推荐
相关产品推荐

