钉钉邮箱访问skill,通过mcporter调用钉钉邮箱MCP服务。支持查询邮箱列表、搜索邮件(KQL表达式)、获取邮件详情及发送邮件。适用于AI助手管理钉钉邮箱场景,如邮件查询、自动回复、归档等。
通过 mcporter 调用钉钉邮箱 MCP 服务,实现邮箱查询、邮件搜索、邮件查看和发送功能。
安装 mcporter bash
npm install -g mcporter
钉钉企业邮箱账号
url 字段值(StreamableHttp URL)使用以下命令添加钉钉邮箱的 MCP Server:
bash
mcporter config add dingtalk-mailbox --url "<StreamableHttp URL>" --config ~/.mcporter/mcporter.json
将 <StreamableHttp URL> 替换为从钉钉邮箱获取的实际 URL。
bash
mcporter list
应该能看到 dingtalk-mailbox 服务器及其提供的工具列表。
查询当前钉钉用户可以使用的邮箱地址列表。
参数: 无
示例:
bash
mcporter call dingtalk-mailbox.list_user_mailboxes
返回示例:
json
{
"emailAccounts": [
{
"orgName": "示例公司",
"type": "ORG",
"email": "user@example.com"
}
],
"success": "true"
}
使用类似 KQL 的查询表达式搜索邮件。支持分页、排序和字段选择。
参数:
email (string, 必需): 搜索目标邮箱地址query (string, 必需): KQL 查询表达式size (string, 必需): 每次返回的最大结果数量(1-100)cursor (string, 可选): 分页游标示例:
bash
# 搜索收件箱邮件
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文件夹IDfolderId: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(通过搜索获得)示例:
bash
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[], 可选): 抄送人邮箱地址列表示例:
bash
# 发送简单邮件
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会议室开会。\")"
bash
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\"date>2025-03-27T00:00:00Z AND folderId:2\", size:\"20\")"
bash
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\"isRead:false AND folderId:2\", size:\"10\")"
bash
mcporter call "dingtalk-mailbox.search_emails(email:\"user@example.com\", query:\\\"subject:\\\"项目通知\\\"\\\", size:\\\"10\\\")"
bash
mcporter call "dingtalk-mailbox.send_email(from:\"user@example.com\", toRecipients:[\"a@example.com\", \"b@example.com\"], subject:\"通知\", body:\"各位同事:\n\n请注意查收附件。\n\n谢谢!\")"
请确认:
bash
mcporter list dingtalk-mailbox --schema
功能状态说明list_user_mailboxes✅ 已测试成功获取邮箱列表search_emails✅ 已测试成功搜索收件箱邮件get_email_by_message_id✅ 已测试成功获取邮件详情send_email✅ 已测试成功发送测试邮件
MIT