Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-smtp

一个为AI助手提供邮件发送功能的MCP服务器

article

README

🚀 SMTP 邮件 MCP 服务器

这是一个基于 Model Context Protocol (MCP) 的服务器,专门提供电子邮件发送功能,适用于 Claude 以及其他支持 MCP 的 AI 助手,能为用户提供便捷、高效的邮件服务。

✨ 主要特性

  • 多个 SMTP 配置:可灵活配置和管理多个 SMTP 服务器,满足多样化的使用需求。
  • 邮件模板:支持创建、更新和使用可重用的电子邮件模板,提高邮件创建效率。
  • 批量发送邮件:能够向多个收件人发送邮件,还支持分批和速率限制,确保邮件发送的稳定性。
  • HTML 支持:全面支持 HTML 格式,可实现丰富多样的邮件内容展示。
  • 日志记录:对所有邮件活动进行全面的日志记录,方便后续的查看和分析。
  • 模板变量:可使用模板变量实现动态内容,使邮件更具个性化。

📦 安装指南

# 克隆仓库
git clone https://github.com/samihalawa/mcp-server-smtp.git
cd mcp-server-smtp

# 安装依赖
npm install

# 构建服务器
npm run build

💻 使用示例

启动服务器

npm start

配置

将服务器添加到您的 MCP 配置中:

{
  "servers": {
    "smtp-email-server": {
      "command": "/path/to/node",
      "args": ["/path/to/mcp-server-smtp/build/index.js"],
      "enabled": true,
      "port": 3007,
      "environment": {
        "NODE_PATH": "/path/to/node_modules",
        "PATH": "/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

可用工具

send-email

向一个或多个收件人发送邮件。 参数:

  • to:包含电子邮件地址和可选名称的收件人数组
  • subject:邮件主题
  • body:邮件正文(支持 HTML)
  • from:(可选)发件人电子邮件地址和名称
  • cc:(可选)抄送收件人
  • bcc:(可选)密送收件人
  • templateId:(可选)使用的模板 ID
  • templateData:(可选)传递给模板的数据

示例:

send-email(
  to: [{ email: "recipient@example.com", name: "John Doe" }],
  subject: "这是一个测试邮件",
  body: "<p>这是一封测试邮件。</p>",
  from: { email: "sender@example.com", name: "Sender Name" }
)

send-bulk-emails

发送大批量邮件。 参数:

  • recipients:包含电子邮件地址和可选名称的收件人数组
  • subject:邮件主题
  • body:邮件正文(支持 HTML)
  • batchSize:每次发送的邮件数量
  • delayBetweenBatches:每批发送之间的延迟时间(以毫秒为单位)

示例:

send-bulk-emails(
  recipients: [
    { email: "user1@example.com", name: "User 1" },
    { email: "user2@example.com", name: "User 2" }
  ],
  subject: "重要公告",
  body: "<p>这是一个重要的公告。</p>",
  batchSize: 10,
  delayBetweenBatches: 1000
)

配置示例

示例 1:配置 SMTP 服务器

# 配置SMTP服务器
config smtp {
    host = "smtp.example.com"
    port = 587
    secure = false
    authentication {
        username = "your-email@example.com"
        password = "your-app-password"
    }
}

示例 2:创建邮件模板

# 创建欢迎邮件模板
template welcome-email {
    subject = "欢迎加入 {{company}}!"
    body = "<h1>你好,{{name}}!</h1><p>欢迎加入 {{company}}!</p>"
}

示例 3:发送个性化邮件

# 发送个性化邮件
send-email(
    to: { email: "new-user@example.com", name: "New User" },
    templateId = "welcome-email",
    templateData = {
        name = "New User",
        company = "示例公司"
    }
)

📚 详细文档

要求

  • Node.js 14+
  • 使用 Nodemailer 进行邮件发送
  • 访问 SMTP 服务器权限

📄 许可证

本项目采用 MIT 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client