电子邮件摄取和传送
电子邮件接收和传送功能定义具有已保存凭据的登录用户如何同步入站电子邮件和对出站发送进行排队。 它为您提供了一个明确的使用顺序:登录、设置凭据,然后运行 IMAP 和 SMTP 操作。
为什么这很重要
此功能以一致的帐户形式存储提供商电子邮件数据,因此跨 IMAP 和 SMTP 流的读取和写入保持可预测。它将元数据搜索与全身和局部检索分开,并将提供者操作与任务和作业联系起来,以实现清晰的重试行为。
核心流程
登录后,客户端使用保存的凭据来同步来自 IMAP 的邮箱或消息。收件箱管理器存储消息和部分数据,客户端搜索并读取所需内容,出站 SMTP 发送排队,同时通过任务、作业和日志跟踪结果。
操作
| 运营 | 端点 | 目的 |
|---|---|---|
| 同步邮箱 | POST /api/accounts/:account_id/imap/sync-mailboxes | 入队邮箱同步 |
| 同步消息 | POST /api/accounts/:account_id/imap/sync-messages | 入队消息同步 |
| 发送 SMTP 消息 | POST /api/accounts/:account_id/smtp/messages | 将出站消息发送入队 |
| 列出电子邮件 | GET /api/accounts/:account_id/emails | 列出帐户电子邮件元数据 |
| 搜索电子邮件 | POST /api/accounts/:account_id/emails/search | 按索引字段查询电子邮件 |
| 通过搜索删除电子邮件 | POST /api/accounts/:account_id/emails/search-delete | 批量删除匹配的电子邮件记录 |
| 创建电子邮件记录 | POST /api/accounts/:account_id/emails | 明确创建电子邮件记录 |
| 获取电子邮件 | GET /api/emails/:email_id | 检索一封电子邮件记录 |
| 更新电子邮件 | PATCH /api/emails/:email_id | 更新可变电子邮件字段 |
| 删除电子邮件 | DELETE /api/emails/:email_id | 删除一封电子邮件记录 |
| 获得全身 | GET /api/accounts/:account_id/emails/:email_id/body | 检索已解析的消息正文 |
| 列出零件 | GET /api/accounts/:account_id/emails/:email_id/parts | 检索消息部分元数据 |
| 获取部分内容 | GET /api/accounts/:account_id/emails/:email_id/parts/:part_id/content | 检索一部分的解码内容 |
关键数据和状态|项目 |目的|链接到 |
| ---------------------------- | ------------------------------------------------ | ---------------------------------- |
| email_message |存储的入站/出站消息数据 | task、job、提供商凭证 |
| email_message_part |附件和嵌入件的零件数据 | email_message |
| email_message_part_content |解码部分有效负载 | email_message_part |
| task |请求的提供商操作 | job |
故障模式和控制
提供程序同步或发送失败是通过任务/作业状态和审核跟踪而不是静默丢弃来显示的。帐户范围的路由拒绝帐户不匹配,搜索删除保持显式和范围,正文或部分内容检索保留在专用端点上,以防止列表或搜索操作期间意外过度获取。