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:(可选)使用的模板 IDtemplateData:(可选)传递给模板的数据
示例:
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 许可证。
Scan to contact