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

Google Apps Script:如何避免纯文本邮件转为Base64编码

Google Apps Script MailApp纯文本邮件编码问题解决及疑问解答

实现超256字符纯文本邮件不被Base64编码的方法

MailApp的编码逻辑是硬触发的——文本长度超过256字符就自动用Base64编码,且无法通过转义字符绕过。要解决这个问题,你可以切换到GmailApp发送邮件,通过高级参数手动指定内容传输编码为quoted-printable(这是邮件标准允许的另一种编码方式,不会把整段文本转成Base64),同时明确指定纯文本内容类型。

示例代码:

function sendLongPlainTextEmail() {
  const to = 'your-recipient@example.com';
  const subject = '长文本纯文本邮件测试';
  // 构造超过256字符的纯文本内容
  const longBody = '这是一段长度超过256字符的纯文本内容,用来验证是否能绕过Base64编码。重复填充内容:这是一段长度超过256字符的纯文本内容,用来验证是否能绕过Base64编码。这是一段长度超过256字符的纯文本内容,用来验证是否能绕过Base64编码。这是一段长度超过256字符的纯文本内容,用来验证是否能绕过Base64编码。这是一段长度超过256字符的纯文本内容,用来验证是否能绕过Base64编码。这是一段长度超过256字符的纯文本内容,用来验证是否能绕过Base64编码。';

  GmailApp.sendEmail(to, subject, longBody, {
    contentType: 'text/plain; charset=UTF-8',
    contentTransferEncoding: 'quoted-printable'
  });
}

发送后查看邮件原始内容,会发现Content-Transfer-Encoding是quoted-printable,而非Base64,同时邮件内容在客户端显示完全正常。

纯文本邮件被Base64编码的影响

  • 用户可读性:完全无影响。所有主流邮件客户端都能自动解码Base64内容,用户看到的和普通纯文本邮件没有区别,不会出现乱码。
  • 自动化处理:如果有脚本或系统需要直接读取邮件原始内容,需要先解码Base64才能拿到明文,多了一步操作,但这属于小众场景,普通用户无需在意。

对垃圾邮件过滤器的影响

不会有负面影响。Base64是邮件标准(RFC 2045)明确允许的编码方式,垃圾邮件过滤器的判定逻辑核心是邮件内容本身(比如垃圾关键词、发件人信誉、是否包含恶意链接等),而非编码方式。

唯一需要注意的是:部分严格的过滤器可能会对Base64编码的邮件做额外的内容检查(因为垃圾邮件有时会用Base64隐藏恶意内容),但只要你的邮件内容合规,就不会被误判为垃圾邮件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:07:53