返回顶部
g

gmailGmail邮件管理

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
安全检测
已通过
107
下载量
免费
免费
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.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部