闲社服务运行正常AI智能体自动化平台
g

Gmail邮件管理

技能标识:gmail

Send, read, search, and manage Gmail emails via the Gmail REST API. Use when asked to send an email, check inbox, read messages, search mail, reply to emails, draft emails, or manage labels. Triggers on phrases like 'send an email', 'check my email', 'reply to', 'draft a message', 'search my inbox', 'read my latest emails', 'send a gmail'.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

Gmail邮件管理

Gmail 技能

直接从 OpenClaw 发送、阅读、搜索、回复和管理 Gmail。

设置

选项 1:OAuth2 访问令牌(推荐)

  1. 1. 在 https://console.cloud.google.com/apis/credentials 创建 OAuth2 凭据
  2. 在 https://console.cloud.google.com/apis/library/gmail.googleapis.com 启用 Gmail API
  3. 通过 OAuth2 流程获取访问令牌,作用域包括:
- https://www.googleapis.com/auth/gmail.send - https://www.googleapis.com/auth/gmail.readonly - https://www.googleapis.com/auth/gmail.modify
  1. 4. 设置环境变量:
bash export GMAILACCESSTOKEN=your-access-token

选项 2:刷新令牌(长期有效)

如果您有刷新令牌,请设置以下额外变量:

bash
export GMAILCLIENTID=your-client-id
export GMAILCLIENTSECRET=your-client-secret
export GMAILREFRESHTOKEN=your-refresh-token

所有 API 调用均使用 Bearer 认证:

bash
curl -s -H Authorization: Bearer $GMAILACCESSTOKEN \
https://gmail.googleapis.com/gmail/v1/users/me/...

令牌刷新

如果设置了 GMAILREFRESHTOKEN,则在任何 API 调用前刷新访问令牌:

bash
GMAILACCESSTOKEN=$(curl -s -X POST https://oauth2.googleapis.com/token \
-d clientid=$GMAILCLIENT_ID \
-d clientsecret=$GMAILCLIENT_SECRET \
-d refreshtoken=$GMAILREFRESH_TOKEN \
-d granttype=refreshtoken | jq -r .access_token)



命令

发送邮件

解析用户的请求,提取以下字段:

字段必需描述
to是收件人邮箱地址,多个地址用逗号分隔
subject
是 | 邮件主题行 |
| body | 是 | 邮件正文(纯文本或 HTML) |
| cc | 否 | 抄送收件人 |
| bcc | 否 | 密送收件人 |
| attachments | 否 | 要附加的文件路径 |
| research | 否 | 用于丰富邮件正文的网络搜索主题 |

网络调研(如适用)

如果用户希望内容基于调研结果:

  1. 1. 使用 web_search 查找相关信息。
  2. 使用 xurl 或 curl 获取关键页面的详细信息。
  3. 将调研结果自然地融入邮件正文。

撰写并发送

构建原始 RFC 2822 消息并进行 base64url 编码:

bash

构建原始消息


RAW_MESSAGE=$(cat < From: me
To: recipient@example.com
Subject: Email subject
Content-Type: text/html; charset=UTF-8
MIME-Version: 1.0


Email body here.



MSGEOF
)

Base64url 编码(无填充,URL 安全)

ENCODED=$(echo -n $RAWMESSAGE | base64 -w 0 | tr +/ - | tr -d =)

发送

curl -s -X POST \ -H Authorization: Bearer $GMAILACCESSTOKEN \ -H Content-Type: application/json \ https://gmail.googleapis.com/gmail/v1/users/me/messages/send \ -d {\raw\: \$ENCODED\}

从响应中提取消息 ID 并报告成功。



阅读 / 查看收件箱

列出最近的邮件:

bash

列出最新消息(默认 10 条)


curl -s -H Authorization: Bearer $GMAILACCESSTOKEN \
https://gmail.googleapis.com/gmail/v1/users/me/messages?maxResults=10&labelIds=INBOX

对于每条消息,获取完整详情:

bash
curl -s -H Authorization: Bearer $GMAILACCESSTOKEN \
https://gmail.googleapis.com/gmail/v1/users/me/messages/{MESSAGE_ID}?format=full

提取并显示:

  • - 发件人:发送者
  • 主题:主题行
  • 日期:接收时间
  • 摘要:预览文本
  • 正文:从 base64 解码(优先使用纯文本部分)

解码正文:

bash

从 payload 部分提取纯文本正文


BODY=$(echo $RESPONSE | jq -r
.payload.parts[]? |
select(.mimeType == text/plain) |
.body.data | base64 -d 2>/dev/null)

备用方案:单部分消息

if [ -z $BODY ]; then BODY=$(echo $RESPONSE | jq -r .payload.body.data | base64 -d 2>/dev/null) fi

搜索邮件

bash

使用 Gmail 查询语法搜索


curl -s -H Authorization: Bearer $GMAILACCESSTOKEN \
https://gmail.googleapis.com/gmail/v1/users/me/messages?q=QUERY&maxResults=10

Gmail 查询示例:

  • - from:user@example.com — 来自特定发件人
  • subject:invoice — 主题包含invoice
  • is:unread — 未读消息
  • after:2026/01/01 before:2026/03/01 — 日期范围
  • has:attachment filename:pdf — 附件为 PDF
  • label:important — 标记为重要

使用上述相同的阅读流程获取并显示匹配的消息。



回复邮件

  1. 1. 获取原始消息以获取 threadId、Message-ID 标头和发件人。
  2. 使用正确的标头构建回复:

bash
RAW_REPLY=$(cat < From: me
To: original-sender@example.com
Subject: Re: Original subject
In-Reply-To:
References:
Content-Type: text/plain; charset=UTF-8
MIME-Version: 1.0

Reply body here.
MSGEOF
)

ENCODED=$(echo -n $RAWREPLY | base64 -w 0 | tr +/ - | tr -d =)

curl -s -X POST \
-H Authorization: Bearer $GMAILACCESSTOKEN \
-H Content-Type: application/json \
https://gmail.googleapis.com/gmail/v1/users/me/messages/send \
-d {\raw\: \$ENCODED\, \threadId\: \THREAD_ID\}



草稿邮件

创建草稿而不发送:

bash
ENCODED=$(echo -n $RAWMESSAGE | base64 -w 0 | tr +/ - | tr -d =)

curl -s -X POST \
-H Authorization: Bearer $GMAILACCESSTOKEN \
-H Content-Type: application/json \
https://gmail.googleapis.com/gmail/v1/users/me/drafts \
-d {\message\: {\raw\: \$ENCODED\}}

报告草稿 ID,以便用户在发送前可以在 Gmail 中查看。



管理标签

bash

列出所有标签


curl -s -H Authorization: Bearer $GMAILACCESSTOKEN \
https://gmail.googleapis.com/gmail/v1/users/me/labels | jq .labels[] | {name, id}

为消息添加标签

curl -s -X POST \ -H Authorization: Bearer $GMAILACCESSTOKEN \ -H Content-Type: application/json \ https://gmail.googleapis.com/gmail/v1/users/me/messages/{MESSAGE_ID}/modify \ -d {addLabelIds: [LABEL_ID]}

移除标签

curl -s -X POST \ -H Authorization: Bearer $GMAILACCESSTOKEN \ -H Content-Type: application/json \ https://gmail.googleapis.com/gmail/v1/users/me/messages/{MESSAGE_ID}/modify \ -d {removeLabelIds: [LABEL_ID]}

标记为已读

curl -s -X POST \ -H Authorization: Bearer $GMAILACCESSTOKEN \ -H Content-Type: application/json \ https://gmail.googleapis

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 gmail-checker-1776123555 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 gmail-checker-1776123555 技能

通过命令行安装

skillhub install gmail-checker-1776123555

下载

⬇ 下载 gmail v1.0.0(免费)

文件大小: 3.69 KB | 发布时间: 2026-4-14 14:37

v1.0.0 最新 2026-4-14 14:37
Initial release of the gmail-checker skill.

- Send, read, search, draft, and reply to Gmail messages using the Gmail REST API.
- Manage labels and mark messages as read.
- Supports OAuth2 authentication via access token or refresh token.
- Usage examples and shell snippets included for sending, searching, and managing emails.
- Designed for easy integration with NemoClaw/OpenClaw sandbox environments.
返回顶部