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

Google Apps Script SendMail变量多行内容显示异常求助

问题原因与解决方案

根本原因

问题出在纯文本换行符与HTML换行标签混用,且邮件发送模式不匹配:

  • 你的ritmtodeploy变量里用了HTML换行标签<br/>,但拼接的message用的是纯文本换行符\n,而Google Apps Script默认发送的是纯文本邮件——纯文本模式下<br/>会被当成普通字符串,不会触发换行。
  • 前几行看似正常,是因为每行内容较短,邮件客户端自动帮你换行了;第4行之后内容变长,客户端不再自动换行,就导致所有内容挤成一行。不存在所谓的行数限制,只是内容长度触发了客户端换行逻辑的差异。

修复方案

两种可选方案,选其一即可:

方案1:保持纯文本邮件格式

把ritmtodeploy里的<br/>全部替换成纯文本换行符\n,让整个邮件内容统一用纯文本规则换行:

// 替换HTML换行标签为纯文本换行
ritmtodeploy = ritmtodeploy.replace(/<br\/>/g, '\n');
var message = "Hello "+first_name+" there are "+numofreq+" requests that needs to be deployed:\n\n"+ritmtodeploy+" \nThanks";
// 发送纯文本邮件(默认模式)
MailApp.sendEmail(recipient, subject, message);

方案2:改用HTML邮件格式

如果想保留更灵活的排版,发送邮件时指定htmlBody参数,同时把内容里的纯文本换行\n替换为HTML换行标签:

// 构建HTML格式的邮件内容
var htmlMessage = "Hello "+first_name+" there are "+numofreq+" requests that needs to be deployed:<br/><br/>"+ritmtodeploy+" <br/>Thanks";
// 发送HTML邮件,同时提供纯文本 fallback 兼容旧客户端
MailApp.sendEmail({
  to: recipient,
  subject: subject,
  htmlBody: htmlMessage,
  body: message // 纯文本版本
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:47:39