SMTP邮件服务器
启用通过SMTP发送电子邮件的功能,支持模板管理、多种SMTP配置、带有变量替换的模板创建以及具有速率限制的批量电子邮件发送。
可用工具 (11 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
send-email 9 个参数 需填 3 项
Send an email to one or more recipients
必填参数:to、subject、body
send-bulk-emails 11 个参数 需填 3 项
Send emails in bulk to multiple recipients with rate limiting
必填参数:recipients、subject、body
get-smtp-configs
Get all SMTP configurations
该工具无需必填参数,直接调用即可
add-smtp-config 7 个参数 需填 5 项
Add a new SMTP configuration
必填参数:name、host、port、user、pass
update-smtp-config 8 个参数 需填 1 项
Update an existing SMTP configuration
必填参数:id
delete-smtp-config 1 个参数 需填 1 项
Delete an SMTP configuration
必填参数:id
get-email-templates
Get all email templates
该工具无需必填参数,直接调用即可
add-email-template 4 个参数 需填 3 项
Add a new email template
必填参数:name、subject、body
update-email-template 5 个参数 需填 1 项
Update an existing email template
必填参数:id
delete-email-template 1 个参数 需填 1 项
Delete an email template
必填参数:id
get-email-logs 2 个参数
Get logs of all email sending activity
该工具无需必填参数,直接调用即可
服务介绍
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 服务器的权限
许可证
MIT