邮件连接器

OpenClaw Email Connector是一个安全、自托管的MCP服务器,用于通过IMAP/SMTP访问电子邮件,无需第三方服务,您的凭证始终保留在您的机器上。

  • by simonerom
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 simonerom/openclaw-email-connector

使用说明

OpenClaw电子邮件连接器

一个安全的、自托管的MCP(模型上下文协议)服务器,用于通过IMAP/SMTP访问电子邮件。无需第三方服务-您的凭据将保留在您的计算机上。

特性

  • IMAP支持:阅读、搜索和管理电子邮件
  • SMTP支持:发送电子邮件和回复
  • MCP集成:与Claude Code和其他MCP兼容的AI助手无缝协作
  • 隐私第一:无外部API或第三方服务-直接连接到您的电子邮件服务器
  • TypeScript:完全打字,以获得更好的开发体验

安装

npm install openclaw-email-connector

或者克隆并从源代码构建:

git clone https://github.com/simonerom/openclaw-email-connector.git
cd openclaw-email-connector
npm install
npm run build

配置

创建一个 .env 文件基于 .env.example:

# Email credentials
EMAIL_USER=your-email@gmail.com
EMAIL_PASSWORD=your-app-password

# IMAP settings (for reading emails)
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
IMAP_TLS=true

# SMTP settings (for sending emails)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false

Gmail设置

对于Gmail,您需要创建应用程序密码:

  1. 首选 Google帐户安全
  2. 如果尚未启用,请启用两步验证
  3. 转到应用程序密码,为“邮件”创建一个新密码
  4. 在中使用生成的16个字符的密码 EMAIL_PASSWORD

其他电子邮件提供商

提供程序 IMAP主机 IMAP端口 SMTP主机 SMTP端口
Gmail imap.Gmail.com 993 smtp.Gmail.com 587
展望 展望办公室365.com 993 smtp.office365.com 587
雅虎 imap.mail.Yahoo.com 993 smtp.mail.Yahoo.com 587
iCloud imap.mail.me.com 993 smtp.mail.me.com 587

使用Claude Code/OpenClaw

添加到MCP配置(~/.config/claude-code/config.json 或类似):

{
  "mcpServers": {
    "email": {
      "command": "node",
      "args": ["/path/to/openclaw-email-connector/dist/mcp-server.js"],
      "env": {
        "EMAIL_USER": "your-email@gmail.com",
        "EMAIL_PASSWORD": "your-app-password",
        "IMAP_HOST": "imap.gmail.com",
        "SMTP_HOST": "smtp.gmail.com"
      }
    }
  }
}

可用工具

阅读电子邮件

工具 说明
email_list_mailboxes 列出所有可用邮箱/文件夹
email_get_recent 从邮箱获取最新电子邮件
email_get_unread 获取所有未读电子邮件
email_search 按发件人、主题、日期等搜索电子邮件。
email_read 通过UID读取特定电子邮件

管理电子邮件

工具 说明
email_mark_read 将电子邮件标记为已读
email_mark_unread 将电子邮件标记为未读
email_move 将电子邮件移动到另一个文件夹
email_delete 删除电子邮件

发送电子邮件

工具 说明
email_send 发送新电子邮件
email_reply 回复现有电子邮件

程序化使用

你也可以直接在Node.js代码中使用客户端:

import { ImapClient, SmtpClient } from 'openclaw-email-connector';

// Reading emails
const imap = new ImapClient({
  user: 'your-email@gmail.com',
  password: 'your-app-password',
  host: 'imap.gmail.com',
  port: 993,
  tls: true
});

await imap.connect();
const unread = await imap.getUnreadMessages();
console.log(unread);
await imap.disconnect();

// Sending emails
const smtp = new SmtpClient({
  user: 'your-email@gmail.com',
  password: 'your-app-password',
  host: 'smtp.gmail.com',
  port: 587,
  secure: false
});

await smtp.sendEmail({
  to: 'recipient@example.com',
  subject: 'Hello!',
  text: 'This is a test email.'
});
smtp.close();

发展

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode
npm run dev

# Run MCP server
npm start

安全说明

  • 永不承诺 .env 文件 -它们包含您的凭据
  • 使用 应用程序密码 而不是您的主密码(如果可用)
  • 此连接器运行 本地 -不向第三方发送数据
  • 考虑使用环境变量,而不是 .env 生产中的文件

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或提交PR。