本API提供邮件获取、解析和管理功能,支持多种邮箱服务器。
🔧 最新更新:增强了邮件解析稳定性,支持多种FETCH策略和智能错误恢复机制。
API基础URL: http://localhost:5000
检查API服务状态
{
"success": true,
"data": {
"status": "ok",
"message": "邮件API服务运行正常",
"timestamp": "2024-01-01T12:00:00"
}
}
获取邮箱中的邮件(默认最新5封)
{
"server": "imap.gmail.com",
"username": "user@gmail.com",
"password": "app_password",
"port": 993,
"use_ssl": true,
"mailbox": "INBOX",
"limit": 5
}
{
"success": true,
"data": {
"server": "imap.gmail.com",
"username": "user@gmail.com",
"mailbox": "INBOX",
"total_emails": 5,
"fetch_time": "2024-01-01T12:00:00",
"emails": [
{
"subject": "邮件主题",
"from": "sender@example.com",
"from_parsed": [{"name": "发件人", "email": "sender@example.com"}],
"to": "user@gmail.com",
"date": "Mon, 1 Jan 2024 12:00:00 +0000",
"date_parsed": "2024-01-01T12:00:00+00:00",
"body_text": "邮件正文",
"body_html": "邮件正文
",
"body_text_from_html": "邮件正文",
"attachments": [],
"has_attachments": false,
"attachment_count": 0,
"category": "general",
"priority": "normal",
"size_bytes": 1024
}
]
}
}
{
"success": true,
"data": {
"server": "imap.gmail.com",
"username": "user@gmail.com",
"mailbox": "INBOX",
"total_emails": 3,
"fetch_time": "2024-01-01T12:00:00",
"emails": [
{
"subject": "正常邮件",
"from": "sender@example.com",
"body_text": "正常邮件内容",
"category": "general"
},
{
"message_id": "123",
"subject": "解析失败",
"from": "未知",
"to": [],
"date": "",
"body_text": "",
"body_html": "",
"attachments": [],
"error": "email.errors.HeaderParseError: Invalid header format"
}
],
"parsing_summary": {
"total_attempted": 5,
"successful": 3,
"failed": 2,
"success_rate": "60%"
}
}
}
测试邮箱服务器连接
与 /api/emails/fetch 相同,但不需要 limit 参数
{
"success": true,
"data": {
"connected": true,
"server": "imap.gmail.com",
"folders": ["INBOX", "Sent", "Drafts"],
"inbox_count": 150
}
}
获取支持的邮件分类列表
{
"success": true,
"data": {
"categories": [
{"id": "general", "name": "普通邮件", "description": "一般邮件"},
{"id": "work", "name": "工作邮件", "description": "包含工作相关关键词的邮件"},
{"id": "notification", "name": "通知邮件", "description": "系统通知和提醒邮件"},
{"id": "spam", "name": "垃圾邮件", "description": "可能的垃圾邮件"}
]
}
}
| 邮箱服务商 | IMAP服务器 | 端口 | SSL | 备注 |
|---|---|---|---|---|
| Gmail | imap.gmail.com | 993 | 是 | 需要应用专用密码 |
| QQ邮箱 | imap.qq.com | 993 | 是 | 需要开启IMAP并使用授权码 |
| 163邮箱 | imap.163.com | 993 | 是 | 需要开启IMAP并使用授权码 |
| Outlook | outlook.office365.com | 993 | 是 | 可能需要两步验证 |
{
"success": false,
"error": {
"code": "INVALID_CREDENTIALS",
"message": "用户名或密码错误",
"details": "详细错误信息"
}
}
(RFC822) - 标准RFC822格式(BODY.PEEK[]) - 只读模式获取邮件体(BODY[]) - 获取完整邮件体(RFC822.HEADER RFC822.TEXT) - 分别获取头部和正文| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| "unexpected response"错误 | IMAP服务器返回非标准响应 | API会自动尝试多种FETCH策略,查看日志了解详细信息 |
| 邮件解析失败 | 邮件格式异常或编码问题 | API会返回基本信息,包含错误详情 |
| 文件夹名显示异常 | IMAP UTF-7编码问题 | API已支持多种编码解析和备用方案 |
| 连接超时 | 网络问题或服务器负载 | 检查网络连接,使用test-connection接口诊断 |
Content-Type: application/json发布日期:2024年12月
| 版本 | 日期 | 主要更新 |
|---|---|---|
| v2.1.0 | 2024-12 |
• 增强邮件解析稳定性 • 多重FETCH策略支持 • 智能错误恢复机制 • 详细调试和日志功能 |
| v2.0.0 | 2024-11 |
• 专业级IMAP LIST解析 • UTF-7编码支持 • 文件夹名称解析优化 • 多编码兼容性 |
| v1.0.0 | 2024-10 |
• 基础IMAP邮件获取功能 • RESTful API接口 • 邮件分类和解析 • 附件处理支持 |