SMTP邮件服务器【MCP工具】
SMTP电子邮件MCP服务器是一个支持通过SMTP发送电子邮件的模型上下文协议(MCP)服务器,适用于Claude等AI助手。其主要功能包括:支持多个SMTP配置、创建和管理可重用的电子邮件模板、批量发送电子邮件并设置速率限制、支持HTML内容以及全面的日志记录。用户可以通过模板变量实现动态内容,并通过命令行工具进行配置和操作。安装步骤包括克隆仓库、安装依赖、构建服务器并启动。配置文件中可添加服务
启用通过SMTP发送电子邮件的功能,支持模板管理、多种SMTP配置、带有变量替换的模板创建以及具有速率限制的批量电子邮件发送。
SMTP 电子邮件 MCP 服务器
一个提供电子邮件发送功能的模型上下文协议(MCP)服务器,适用于 Claude 和其他兼容 MCP 的 AI 助手。
特性
- 多个 SMTP 配置:配置和管理多个 SMTP 服务器
- 电子邮件模板:创建、更新和使用可重用的电子邮件模板
- 批量发送电子邮件:分批并限制速率地向多个收件人发送电子邮件
- HTML 支持:支持完整的 HTML 以丰富电子邮件内容
- 日志记录:全面记录所有电子邮件活动
- 模板变量:使用模板变量实现动态内容
安装
# Clone the repository git clone https://github.com/samihalawa/mcp-server-smtp.git cd mcp-server-smtp # Install dependencies npm install # Build the server 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:(可选)用于填充模板变量的数据smtpConfigId:(可选)要使用的 SMTP 配置 ID
send-bulk-emails
分批向多个收件人发送电子邮件。
参数:
recipients:包含电子邮件和可选名称的收件人数组subject:电子邮件主题body:电子邮件正文(支持 HTML)from:(可选)发件人电子邮件和名称cc:(可选)抄送收件人bcc:(可选)密送收件人templateId:(可选)要使用的模板 IDtemplateData:(可选)用于填充模板变量的数据batchSize:(可选)每批发送的电子邮件数量delayBetweenBatches:(可选)批次之间的延迟(毫秒)smtpConfigId:(可选)要使用的 SMTP 配置 ID
get-smtp-configs
获取所有已配置的 SMTP 服务器。
参数:无
add-smtp-config
添加新的 SMTP 服务器配置。
参数:
name:配置名称host:SMTP 服务器主机名port:SMTP 服务器端口secure:是否使用 SSL/TLSauth:认证凭据(用户名和密码)isDefault:(可选)这是否是默认配置
update-smtp-config
更新现有的 SMTP 服务器配置。
参数:
id:要更新的配置 IDname:配置名称host:SMTP 服务器主机名port:SMTP 服务器端口secure:是否使用 SSL/TLSauth:认证凭据(用户名和密码)isDefault:(可选)这是否是默认配置
delete-smtp-config
删除 SMTP 服务器配置。
参数:
id:要删除的配置 ID
get-email-templates
获取所有电子邮件模板。
参数:无
add-email-template
添加新的电子邮件模板。
参数:
name: 模板名称subject: 邮件主题模板body: 邮件正文模板(支持 HTML)isDefault: (可选)是否为默认模板
update-email-template
更新现有的邮件模板。
参数:
id: 要更新的模板 IDname: 模板名称subject: 邮件主题模板body: 邮件正文模板(支持 HTML)isDefault: (可选)是否为默认模板
delete-email-template
删除一个邮件模板。
参数:
id: 要删除的模板 ID
get-email-logs
获取已发送邮件的日志。
参数:无
示例用法
-
配置 SMTP 服务器:
add-smtp-config( name: "Gmail", host: "smtp.gmail.com", port: 587, secure: false, auth: { user: "your-email@gmail.com", pass: "your-app-password" }, isDefault: true ) -
创建一个邮件模板:
add-email-template( name: "欢迎邮件", subject: "欢迎来到 {{company}}!", body: "<h1>你好 {{name}},</h1><p>欢迎来到 {{company}}!</p>", isDefault: false ) -
使用模板发送邮件:
send-email( to: [{ email: "recipient@example.com", name: "John Doe" }], templateId: "welcome-email", templateData: { name: "John", company: "ACME Corp" } ) -
批量发送邮件:
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 )
要求
- Node.js 14+
- Nodemailer 用于发送邮件
- 访问 SMTP 服务器的权限
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)