Mcp Server Smtp

Mcp Server Smtp

🚀 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: "

这是一封测试邮件。

"
, 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: "

这是一个重要的公告。

"
, 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 = "

你好,{{name}}!

欢迎加入 {{company}}!

"
}

示例 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 许可证。

  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-10-03 14:27

相似服务问题

相关AI产品