Install
openclaw skills install dingtalk-mailbox钉钉邮箱访问skill,使用mcporter调用钉钉邮箱MCP服务。支持查询可用邮箱列表、搜索邮件(类KQL表达式)、获取邮件详情、发送邮件。适用于需要通过AI助手管理钉钉邮箱的场景,如查询邮件、自动回复、邮件归档等。
openclaw skills install dingtalk-mailbox通过 mcporter 调用钉钉邮箱 MCP 服务,实现邮箱查询、邮件搜索、邮件查看和发送功能。
安装 mcporter
npm install -g mcporter
钉钉企业邮箱账号
url 字段值(StreamableHttp URL)使用以下命令添加钉钉邮箱的 MCP Server:
mcporter config add dingtalk-mailbox --url "<StreamableHttp URL>" --config ~/.mcporter/mcporter.json
将 <StreamableHttp URL> 替换为从钉钉邮箱获取的实际 URL。
mcporter list
应该能看到 dingtalk-mailbox 服务器及其提供的工具列表。
查询当前钉钉用户可以使用的邮箱地址列表。
参数: 无
示例:
mcporter call dingtalk-mailbox.list_user_mailboxes
返回示例:
{
"emailAccounts": [
{
"orgName": "示例公司",
"type": "ORG",
"email": "user@example.com"
}
],
"success": "true"
}
使用类似 KQL 的查询表达式搜索邮件。支持分页、排序和字段选择。
参数:
email (string, 必需): 搜索目标邮箱地址query (string, 必需): KQL 查询表达式size (string, 必需): 每次返回的最大结果数量(1-100)cursor (string, 可选): 分页游标示例:
# 搜索收件箱邮件
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\"folderId:2\", size:\"5\")"
# 搜索未读邮件
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\"isRead:false\", size:\"10\")"
# 搜索来自特定发件人的邮件
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\"from:sender@example.com\", size:\"5\")"
支持的查询字段:
| 字段 | 说明 | 示例 |
|---|---|---|
date | 日期 | date>2025-01-01T00:00:00Z |
folderId | 文件夹ID | folderId:2 (收件箱), folderId:1 (已发送) |
isRead | 是否已读 | isRead:true, isRead:false |
hasAttachments | 是否有附件 | hasAttachments:true |
subject | 主题 | subject:\"紧急\" |
from | 发件人 | from:\"alice\" |
to | 收件人 | to:\"bob@example.com\" |
文件夹ID对照:
1 - 已发送2 - 收件箱3 - 垃圾邮件5 - 草稿6 - 已删除根据邮件ID获取完整的邮件内容,包括正文。
参数:
email (string, 必需): 邮件所属的邮箱地址messageId (string, 必需): 邮件ID(通过搜索获得)示例:
mcporter call "dingtalk-mailbox.get_email_by_message_id(email:\"user@example.com\", messageId:\"<邮件ID>\")"
使用指定的邮箱地址作为发件人发送邮件。
参数:
from (string, 必需): 发信邮箱地址toRecipients (string[], 必需): 收件人邮箱地址列表subject (string, 必需): 邮件主题body (string, 必需): Markdown 格式的邮件正文ccRecipients (string[], 可选): 抄送人邮箱地址列表示例:
# 发送简单邮件
mcporter call "dingtalk-mailbox.send_email(from:\"user@example.com\", toRecipients:[\"to@example.com\"], subject:\"会议通知\", body:\"明天下午开会\")"
# 发送带抄送的邮件
mcporter call "dingtalk-mailbox.send_email(from:\"user@example.com\", toRecipients:[\"to@example.com\"], ccRecipients:[\"cc@example.com\"], subject:\"会议通知\", body:\"## 会议通知\n\n明天下午2点在301会议室开会。\")"
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\"date>2025-03-27T00:00:00Z AND folderId:2\", size:\"20\")"
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\"isRead:false AND folderId:2\", size:\"10\")"
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\\\"subject:\\\"项目通知\\\"\\\", size:\\\"10\\\")"
mcporter call "dingtalk-mailbox.send_email(from:\"user@example.com\", toRecipients:[\"a@example.com\", \"b@example.com\"], subject:\"通知\", body:\"各位同事:\n\n请注意查收附件。\n\n谢谢!\")"
请确认:
mcporter list dingtalk-mailbox --schema
| 功能 | 状态 | 说明 |
|---|---|---|
| list_user_mailboxes | ✅ 已测试 | 成功获取邮箱列表 |
| search_emails | ✅ 已测试 | 成功搜索收件箱邮件 |
| get_email_by_message_id | ✅ 已测试 | 成功获取邮件详情 |
| send_email | ✅ 已测试 | 成功发送测试邮件 |
MIT