邮件服务API

一个基于FastAPI的REST API,通过Microsoft Graph API与Outlook/M365邮箱交互,支持读取、搜索和发送邮件。

  • by Rahul-dsml
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rahul-dsml/mcp

使用说明

📬 带Microsoft Graph的MCP服务器(展望)

此项目使用公开REST API 快速 API 与…互动 微软Outlook/M365电子邮件 账户通过 Microsoft Graph API。它支持使用验证后读取、搜索和发送电子邮件等操作 设备代码流.


🚀 特性

  • ✅ 使用Microsoft帐户进行身份验证(设备代码)
  • 📥 获取最新电子邮件
  • 🔍 按查询(主题/正文)搜索电子邮件
  • 📖 阅读特定电子邮件的全文
  • ✉️ 使用Graph API发送电子邮件

🧪 示例用法

端点 描述
GET /emails?count=3 获取最新3封电子邮件
GET /search?query=invoice 搜索包含“发票”一词的电子邮件
GET /emails/{message_id} 获取特定电子邮件的全文
POST /send 发送电子邮件(见下面的JSON格式)

发送电子邮件的JSON示例

{
  "to": ["recipient@example.com"],
  "subject": "Test Email",
  "body": "This is a test email sent from FastAPI."
}

⚙️ 安装说明

1.克隆存储库

git clone https://github.com/Rahul-dsml/MCP.git
cd MCP/email_testing

2.创建 .env 文件

client_id=YOUR_CLIENT_ID_HERE
tenant_id=common

确保您注册的Azure AD应用程序具有以下功能 已委派API权限:

  • Mail.Read
  • Mail.Send
  • User.Read

3.创建虚拟环境并安装依赖项

conda create -n emailenv python=3.10
conda activate emailenv
pip install -r requirements.txt

4.运行服务器

uvicorn email_api:app --reload

然后打开浏览器或使用 curl 访问:

http://localhost:8000/docs

🔐 首次访问将要求您访问 https://microsoft.com/devicelogin 并输入代码。


🧰 技术栈

  • Python 3.10
  • 快速 API
  • Microsoft身份验证库
  • Microsoft Graph API
  • 请求:
  • Dotenv

🧑 作者

拉赫尔·辛哈 github: @Rahul dsml