邮件控制面板服务

一个连接IONOS邮箱账户的自定义邮件控制面板服务器,提供简单的HTTP API以获取最近邮件和保存草稿回复。

  • by Abhinav330
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Abhinav330/aiembedded-email-mcp

使用说明

AI嵌入式电子邮件MCP(管理控制面板/管理组件/邮件客户端代理等,具体含义需根据上下文确定)

一个为ChatGPT定制的邮件控制面板(MCP)服务器,用于连接您的IONOS电子邮件账户info@aiembedded.tech)。 它提供了一个简单的HTTP API,允许ChatGPT或其他客户端获取最近的电子邮件并保存草稿回复。此存储库包含FastAPI应用程序、Dockerfile、Fly.io配置和支持文件,以便您可以快速部署服务。

特点/特性

  • 获取最近的电子邮件 – 使用IMAP列出IONOS收件箱中的最新消息(默认5条)。返回发件人、收件人、主题以及邮件正文的片段。
  • 保存草稿回复 – 输入目标地址、主题和正文,并使用IMAP将消息存储在您的IONOS“草稿”文件夹中。打开邮箱时,您可以看到草稿。
  • 基于环境的凭据 – 电子邮件地址和密码通过环境变量提供(EMAIL 并且 PASSWORD) 并且没有在代码库中硬编码。
  • 已准备好部署到Fly.io – 包括一个 Dockerfile 和 fly.toml 用于部署到 Fly.io。

要求

  • Python 3.11
  • IONOS电子邮件账户凭据
  • 您的IONOS账户已启用IMAP和SMTP访问权限

设置(本地)

  1. 克隆仓库并进入其中。

    git clone https://github.com/Abhinav330/aiembedded-email-mcp.git
    cd aiembedded-email-mcp
    
  2. 安装依赖项。

    pip install -r requirements.txt
    
  3. 在你的shell中设置所需的环境变量。

    export EMAIL=info@aiembedded.tech
    export PASSWORD=your_email_password
    
  4. 使用 Uvicorn 启动服务器。

    uvicorn app.main:app --host 0.0.0.0 --port 8080
    

Docker

你可以使用提供的(工具/方法)在容器内运行该服务 Dockerfile。

# Build the image
docker build -t aiembedded-email-mcp .

# Run the container
docker run -e EMAIL=info@aiembedded.tech -e PASSWORD=your_email_password -p 8080:8080 aiembedded-email-mcp

在 Fly.io 上部署

  1. 安装 Fly.io 命令行界面 (CLI) 并登录。

    curl -L https://fly.io/install.sh | sh
    fly auth login
    
  2. 创建并配置应用程序(一次)。

    fly launch --name aiembedded-email-mcp --no-deploy
    
  3. 为你的电子邮件凭据设置秘密信息。

    fly secrets set EMAIL=info@aiembedded.tech PASSWORD=your_email_password
    
  4. 部署应用程序。

    fly deploy
    

部署后,您的API将可通过以下地址访问: https://<your-app-name>.fly.dev。

API 端点

GET /emails

从您的IONOS收件箱中获取最新的电子邮件。

查询参数:

  • limit (可选,默认值:5)——要返回的消息数量。

示例:

GET https://<your-app-name>.fly.dev/emails?limit=5

POST /drafts

在您的IONOS账户中保存草稿回复。

请求体(JSON):

{
  "to": "recipient@example.com",
  "subject": "Hello",
  "body": "This is a draft reply"
}

示例:

POST https://<your-app-name>.fly.dev/drafts

贡献

如果你发现错误或有改进建议,请随时提交问题或拉取请求。