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

关于Gmail API发送邮件的请求体格式咨询(非Google客户端库实现方式)

直接调用Gmail API发送邮件的请求体示例及说明

没问题!既然你已经搞定了OAuth2认证和令牌,那直接调用Gmail API发邮件其实没那么复杂,我给你拆解清楚请求的各个部分,重点把请求体的格式讲明白,保证你一看就懂。

1. 基本请求信息

  • 请求方法:POST
  • 请求URL:https://gmail.googleapis.com/gmail/v1/users/{userId}/messages/send
    • 这里的{userId}可以直接替换成你的邮箱地址,或者用me来代表当前OAuth2认证的用户,非常方便

2. 必须携带的请求头

请求里一定要包含这两个关键头:

  • Authorization: Bearer {你的OAuth2访问令牌} (把{你的OAuth2访问令牌}换成你实际拿到的令牌)
  • Content-Type: application/json

3. 请求体核心示例

Gmail API要求邮件内容是经过URL安全Base64编码的RFC 2822格式邮件,所以请求体的结构非常简洁,只有一个raw字段:

{
  "raw": "RnJvbTogIlNvbWUgRGVtbyIgPHNvbWUtZGVtbzEyM0BnbWFpbC5jb20+ClRvOiAiVXNlciIgPHVzZXJAZXhhbXBsZS5jb20+ClN1YmplY3Q6IFRlc3QgTWFpbCB0byBHbWFpbCBBUElUaW1lOiBEZWN1c3Npb24sIDEzIEp1bHkgMjAyNCAxMzowMDowMCBHTVQKDjxoZWxsbD4KPGJvZHk+CjxpZD5IZWxsbywgVXNlciE8L2lkPgo8L2JvZHk+CjwvaGVsbG8+"
}

解码后对应的原始邮件内容

上面的Base64字符串解码后,就是标准的邮件格式,内容如下:

From: "Some Demo" some-demo123@gmail.com
To: "User" user@example.com
Subject: Test Mail to Gmail API
Time: Decusion, 13 July 2024 13:00:00 GMT

Hello, User!

4. 如何生成符合要求的raw值?

步骤很直观,分三步:

  1. 按照RFC 2822格式写好完整的邮件内容,包括发件人、收件人、主题、正文(支持纯文本或HTML),比如纯文本版的原始内容:
From: me@my-domain.com
To: friend@their-domain.com
Subject: Hello from Gmail API
Content-Type: text/plain; charset="UTF-8"

Hey there! This is a test email sent directly via Gmail API without client libraries.
  1. 将这段内容转换成UTF-8编码的字节流
  2. 对字节流进行URL安全的Base64编码(注意:要把普通Base64里的+替换成-,/替换成_,并去掉末尾多余的=符号)

5. 几个关键注意事项

  • 发件人必须和你OAuth2认证的邮箱账号一致,否则会触发权限报错
  • 如果要发送HTML邮件,记得在邮件头里加上Content-Type: text/html; charset="UTF-8",正文直接写HTML代码即可
  • 确保你的OAuth2访问令牌已经申请了https://www.googleapis.com/auth/gmail.send的权限范围,没有这个权限的话API会直接拒绝请求

内容的提问来源于stack exchange,提问作者Try Something New

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 00:27:30