邮件管理服务器

一个功能全面的邮件管理服务器,支持SMTP发送邮件和IMAP接收管理邮件。

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

使用说明

电子邮件MCP服务器

电子邮件MCP服务器:通过SMTP发送电子邮件,通过IMAP接收和管理电子邮件。

机会

  • 发送支持HTML和纯文本的电子邮件
  • 多收件人(TO,CC,BCC)
  • 从文件夹中检索邮件列表
  • 阅读信件内容
  • 删除和移动文件夹之间的邮件
  • 按关键字搜索信件
  • 查看邮箱文件夹结构

安装

# Активация виртуального окружения
source .venv/bin/activate

# Установка зависимостей
uv sync

设置

创建文件 .env 在项目的根:

EMAIL_ADDRESS=your_email@gmail.com
EMAIL_PASSWORD=your_app_password
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
PORT=8002
HOST=0.0.0.0
LOG_LEVEL=INFO

重要的是: Gmail使用 应用程序密码 而不是普通密码。

发射

# Запуск сервера
uv run python -m src.entrypoints.server

码头工人

# Сборка образа
make build

# Запуск контейнера
docker run -p 8000:8000 \
  -e EMAIL_ADDRESS=your_email@gmail.com \
  -e EMAIL_PASSWORD=your_app_password \
  dev-mcp-email:latest

工具(tools)

工具描述IMAP |------------|----------|------| | send_email 发送电子邮件 | list_emails –从文件夹中检索邮件列表–是的。 | get_email –通过UID接收邮件内容–是的。 | delete_email 删除邮件是的。 | move_email -在文件夹之间移动邮件-是的。 | list_folders –获取邮箱文件夹列表–是→ | search_emails 搜索关键字:是的

注: IMAP工具仅在以下情况下注册: IS_IMAP_ENABLED=true (默认)。对于仅发送模式,请设置 IS_IMAP_ENABLED=false.

测试

make test

环境变量

变量描述为默认值。 | --------------------- | ------------------------------------- | --------------- | | EMAIL_ADDRESS 电子邮件地址(必填) | EMAIL_PASSWORD app password(必填) | SMTP_HOST | SMTP 服务器 | smtp.gmail.com | | SMTP_PORT SMTP端口587 | SMTP_USE_TLS 使用TLS True | SMTP_USE_SSL 使用SSL false | IS_IMAP_ENABLED 启用IMAP功能 | IMAP_HOST | IMAP 服务器 | imap.gmail.com | | IMAP_PORT IMAP端口993 | IMAP_USE_SSL 在IMAP上使用SSL | PORT 服务器端口8002 | HOST 服务器主机0.0.0 | LOG_LEVEL 登录级别:info | MAX_ATTACHMENT_SIZE 马克斯附件大小(字节)–26214400(25MB)→ | MAX_EMAILS_FETCH 马克斯一次写50封信 | REQUEST_TIMEOUT 操作超时(秒)60 | DEFAULT_FOLDER 默认文件夹Inbox

使用示例

寄信

await send_email(
    to=["recipient@example.com"],
    subject="Привет!",
    body="<h1>Это тестовое письмо</h1>",
    html=True
)

收到邮件列表

await list_emails(folder="INBOX", limit=10)

搜索邮件

await search_emails(query="важное", folder="INBOX", limit=20)

许可证

麻省理工学院