# storlead-mail 子模块说明 邮件服务拆为四个 Maven 子模块,避免 CRM 与营销业务混在一起,调度统一编排。 ## 模块 | 模块 | Artifact | 职责 | |------|----------|------| | common | `storlead-mail-common` | 账户(`smtp_pop_settings`)、SMTP/IMAP 连接、公共投递、`MailSceneEnum` | | crm | `storlead-mail-crm` | CRM 个人邮箱:`emails` / `client_sent_emails`、收信、文件夹、CRM 集成任务 | | mkt | `storlead-mail-mkt` | 营销投递:`mkt_mail_message`、发送与打开追踪 | | dispatch | `storlead-mail-dispatch` | **统一调度**:定时发送(CRM+MKT)、CRM 收信拉取、服务器邮件延迟删除 | 依赖方向: ``` crm → common mkt → common dispatch → crm + mkt api → dispatch ``` **crm 与 mkt 互不依赖**;调度放在 dispatch,避免任务只挂在 crm 里。 ## 包名 - `com.storlead.sales.mail.common.*` - `com.storlead.sales.mail.crm.*` - `com.storlead.sales.mail.mkt.*` - `com.storlead.sales.mail.dispatch.*` API: - `com.storlead.mail.common` — 账户配置 - `com.storlead.mail.crm` — CRM 邮件接口(原 `/mail/**`) - `com.storlead.mail.mkt` — 营销接口(`/mail/mkt/**`) ## 调度任务 | Job | 覆盖范围 | |-----|----------| | `DelaySendEmailTaskJob` | CRM 延时发信 + 营销延时发信 | | `EmailPullHeadContentTaskJob` | 仅 CRM 收信(营销账户默认不收) | | `DelayDeleteServerEmailTaskJob` | 仅 CRM IMAP 服务器删除 | ## 库表变更 执行:`storlead-mail-common/src/main/resources/sql/mail_scene_and_mkt.sql` - `smtp_pop_settings` 增加 `scene` / `account_scope` / `org_id` 等 - 新建 `mkt_mail_message`