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

关于Google Script获取Google Doc带格式内容并发送邮件的咨询

解决Google Script发送带格式Google Doc内容的问题

嘿,我之前也踩过这个坑!你用getBody().getText()确实只能拿到纯文本,所有格式自然就丢了。要保留加粗、斜体这些格式,得换个方式获取文档内容,然后用HTML格式发送邮件。

核心思路

Google Doc可以直接导出为HTML格式,我们拿到这个HTML内容后,通过邮件的htmlBody参数发送,邮件客户端就会渲染出原文档的格式了。

具体代码实现

替换你原来的代码,改成这样:

// 获取文档的HTML格式内容(保留所有基础格式)
var body_hw1_html = doc_hw1.getAs('text/html').getContentText();

// 发送带HTML格式的邮件
MailApp.sendEmail({
  to: email,
  subject: subject_hw1,
  htmlBody: body_hw1_html,
  // 可选:给不支持HTML的邮件客户端提供纯文本 fallback
  body: doc_hw1.getBody().getText()
});

注意事项

  • 基础格式(加粗、斜体、段落换行、有序/无序列表)都能完美保留,但一些复杂样式比如自定义字体、特殊表格格式可能会有轻微差异,这是因为Google Doc转HTML的规则限制。
  • 如果需要更精细的格式控制,比如调整邮件样式,你可以对获取到的HTML内容做二次处理,比如替换CSS样式或者标签,但一般场景下直接用getAs('text/html')就足够了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:36:03