Google Script字符串换行问题:发送邮件时手动换行失效如何解决
Google Script 发送邮件换行失效解决方案
问题表现:在邮件内容字符串中输入的手动换行,发送后会被自动合并,不会在收件人收到的邮件中显示。
问题原因
邮件默认如果以HTML格式渲染,原生字符串的换行符不会被识别,会被当做普通空白符处理,因此会出现换行消失的情况。
解决方案
方案1:使用纯文本模式发送邮件
如果不需要富文本格式,调用发信接口时不要传入htmlBody参数,直接将内容放在第三个纯文本参数位,同时把内容中的手动换行替换为转义字符\n即可正常生效。
示例代码:
// 纯文本发信示例 const recipient = "xxx@company.com"; const subject = "每日晨间通知"; // 用\n表示换行 const content = "Hello,\n我是John"; GmailApp.sendEmail(recipient, subject, content);
方案2:HTML模式下替换换行符为HTML标签
如果需要使用富文本格式,保留htmlBody参数的同时,将内容中所有换行符替换为HTML换行标签<br>即可。
示例代码:
// HTML格式发信示例 const recipient = "xxx@company.com"; const subject = "每日晨间通知"; const rawContent = "Hello,\n我是John"; // 全局替换所有换行符为<br> const htmlContent = rawContent.replace(/\n/g, "<br>"); GmailApp.sendEmail(recipient, subject, "", { htmlBody: htmlContent });
目前该脚本主体功能已开发完成,如果有需要除换行问题外可正常使用的群发邮件脚本的朋友,可以私信联系我。
内容的提问来源于stack exchange,提问作者Jebin Alex
相关产品推荐
相关产品推荐

