邮件发送服务器

一个基于C# Model Context Protocol (MCP)的服务器,提供使用SMTP发送邮件的功能。

  • by sachatrauwaen
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 sachatrauwaen/mcpemailserver

使用说明

MCP电子邮件服务器

使用SMTP提供电子邮件发送功能的C#模型上下文协议(MCP)服务器。

先决条件

  • .NET 6.0或更高版本
  • SMTP服务器凭据(例如Gmail、Office 365或您自己的SMTP服务器)

设置

  1. 克隆存储库

  2. 为SMTP配置设置以下环境变量:

    • SMTP_SERVER (例如。, smtp.gmail.com)
    • SMTP_PORT (例如。, 587)
    • SMTP_USERNAME (您的电子邮件地址)
    • SMTP_PASSWORD (您的应用程序密码)

可以使用以下命令运行Mcp电子邮件服务器:


 "mcp-email-server": {
      "type": "stdio",
      "command": "dotnet",
      "args": ["run", 
              "--project",
              "YOUR_PATH/smtp-dotnet-mcp-server/McpEmailServer.csproj"
            ],
      "env": {       
        "SMTP_SERVER": "localhost",
        "SMTP_PORT": "25",
        "SMTP_USERNAME": "",
        "SMTP_PASSWORD": ""
      }
    }

或


 "mcp-email-server": {
      "type": "stdio",
      "command": "cmd",
      "args": ["/c",               
              "YOUR_PATH/smtp-dotnet-mcp-server/McpEmailServer.exe"
            ],
      "env": {       
        "SMTP_SERVER": "localhost",
        "SMTP_PORT": "25",
        "SMTP_USERNAME": "",
        "SMTP_PASSWORD": ""
      }
    }

Gmail设置(如果使用Gmail)

如果你正在使用Gmail,你需要:

  1. 在您的Google帐户中启用两步验证
  2. 生成应用程序密码:
    • 转到Google帐户设置
    • 安全
    • 两步验证
    • 应用密码
    • 为“邮件”生成新的应用程序密码

运行服务器

dotnet run

可用工具

服务器提供以下MCP工具:

  1. SendEmail:发送纯文本电子邮件

    • 参数:
      • to:收件人电子邮件地址
      • subject:电子邮件主题
      • body:电子邮件正文
  2. SendHtmlEmail:发送HTML电子邮件

    • 参数:
      • to:收件人电子邮件地址
      • subject:电子邮件主题
      • htmlBody:电子邮件正文的HTML内容

特性

  • 使用stdio传输的MCP服务器实现
  • SMTP电子邮件发送功能
  • 支持纯文本和HTML电子邮件
  • SMTP客户端的依赖注入和设置
  • 可通过应用程序配置
  • 正确的错误处理和记录

安全说明

  • 切勿将电子邮件凭据提交到源代码管理
  • appsettings文件应添加到.gitignore中
  • 尽可能使用应用程序密码而不是主密码
  • 考虑在生产中使用环境变量或安全的配置管理系统