From 4dc2760f8aceb5c892a76c2148de24f7ca645983 Mon Sep 17 00:00:00 2001 From: Wonder Date: Tue, 7 Oct 2025 21:29:43 +0800 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=93=9DDocs:=20=E6=92=B0=E5=86=99=20PRD?= =?UTF-8?q?=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + PRD.md | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 168 insertions(+) create mode 100644 .gitignore create mode 100644 PRD.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..723ef36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file diff --git a/PRD.md b/PRD.md new file mode 100644 index 0000000..3fa04e3 --- /dev/null +++ b/PRD.md @@ -0,0 +1,167 @@ +# Mini Email Sender(PRD) + +## **1. 项目名称** + +**Email Sender Mini App (简称:Mini Email)** + +--- + +## **2. 项目目标** + +构建一个**简易的邮件发送应用**,用户可以通过前端界面填写相关邮件信息(收件人、标题、内容、附件)并提交,后端负责接收这些信息并实际发送邮件。此应用适用于企业、教育机构或个人用户,用于快速发送简要的邮件通知或信息。 + +--- + +## **3. 用户角色** + +| 角色 | 说明 | +|--------------|---------------------------------------| +| 用户 | 使用系统发送邮件的人,可以是管理员或普通用户 | +| 管理员 | 系统的维护人员,负责配置邮件服务器相关参数 | + +--- + +## **4. 功能需求** + +### 4.1 基础功能 + +#### 4.1.1 邮件发送功能 + +- **功能描述**:用户填写收件人邮箱地址、邮件标题、邮件内容,选择附件(可选),提交按钮发送邮件。 +- **输入字段**: + - 收件人邮箱(必填) + - 邮件标题(必填) + - 邮件正文(必填) + - 附件(可选,支持常见格式如 PDF, JPG, PNG) +- **提交方式**:通过 AJAX 提交,不刷新页面 +- **发送效果**: + - 成功发送邮件后显示成功提示 + - 发送失败时显示错误信息(如网络问题、邮箱格式错误) + +#### 4.1.2 邮件发送状态反馈 + +- **功能描述**:后端处理完成邮件发送后,返回状态码和提示信息,前端展示结果。 +- **成功状态**:状态码 200 + “邮件发送成功” +- **失败状态**:状态码 500 + “邮件发送失败,请检查网络或邮箱设置” + +#### 4.1.3 邮件配置(后端) + +- **功能描述**:后端支持 SMTP 配置,包括端口、服务器地址、账号、密码、发送邮箱等。 +- **配置方式**: + - 后端支持通过配置文件(如 `application.yml`)配置 SMTP + - 管理员可以通过系统配置界面动态调整 SMTP 配置(可选) + +### 4.2 可选功能(扩展) + +| 功能描述 | 说明 | +|------------------|--------------------------------| +| 批量发送邮件 | 支持多名收件人一起发送 | +| 邮件模板管理 | 预设邮件模板,供用户选择或编辑 | +| 历史邮件记录 | 存储已发送邮件的记录(可选) | +| 邮件日志查看 | 管理员可查看发送日志(可选) | + +--- + +## **5. 非功能需求** + +| 类别 | 描述 | +|--------------|--------------------------------------| +| 性能 | 邮件发送处理时间应小于 3 秒 | +| 安全性 | 邮件发送接口需设置访问权限(如 API Key 或 JWT) | +| 可靠性 | 系统应能处理 1000 个并发请求的小型负载 | +| 可扩展性 | 系统应易于扩展,如加入邮件模板、日志等功能 | +| 可用性 | 邮件发送失败时需向用户反馈清晰错误信息 | + +--- + +## **6. 技术选型** + +### 6.1 前端(Vue) + +- **框架**:Vue 3 + Vite(轻量、性能优化) +- **组件库**:Element Plus(UI 组件库) +- **HTTP 请求库**:Axios +- **样式**:Scss + Custom CSS +- **部署方式**:Nginx 或 Vercel + +### 6.2 后端(Spring Boot) + +- **框架**:Spring Boot 3.x +- **邮件发送功能**:Spring Mail + JavaMail +- **通信协议**:REST API +- **邮件配置支持**:YAML / Properties 配置 +- **部署方式**:JAR/WAR(Docker 容器化可选) + +--- + +## **7. 界面设计说明** + +### 7.1 前端页面(Vue) + +| 页面 | 说明 | +|--------------|--------------------------| +| 登录页面 | 系统可选登录功能(可选) | +| 邮件发送页 | 提供邮件发送表单(收件人、标题、内容、附件) | +| 邮件列表页 | 显示已发送邮件(可选) | + +#### 邮件发送页界面元素(示例): + +- 输入框(收件人) +- 输入框(标题) +- 富文本编辑器(正文) +- 上传按钮(附件) +- 提交按钮 +- 提示信息区域(成功/失败) + +### 7.2 状态提示示例 + +- **成功**: + ```text + 邮件已成功发送至:example@example.com + ``` +- **失败**: + ```text + 邮件发送失败:请检查邮箱地址或网络连接。 + ``` + +--- + +## **8. 接口设计(后端 API)** + +### 8.1 发送邮件接口 + +| 方法 | 路径 | 请求体(JSON) | 响应体(JSON) | +|------|------------------|---------------------------|-------------------------| +| POST | `/api/email/send` | { "to": "xxx@xxx.com", "subject": "test", "content": "hello", "attachments": [] } | { "status": 200, "message": "success" } | + +#### 拓展字段(附件): + +- 使用 MultipartFile 上传附件,在后端接收时处理。 + +--- + +## **9. 备注** + +- 本系统为**简易应用**,不涉及复杂邮件管理。 +- 附件上传需采用 multipart/form-data 格式。 +- 后端需配置 SMTP 服务器参数、邮箱认证(如 QQ 邮、163 邮等)。 +- 若未配置 SMTP,则系统应默认提示“配置错误”。 + +--- + +## **10. 项目后续扩展建议** + +- 集成邮件发送状态跟踪(如是否被送达、是否阅读) +- 添加定时发送邮件功能 +- 支持 HTML 格式邮件内容 +- 集成 SMTP 配置管理后台 + +--- + +## **附录** + +### 附件上传限制(示例): + +- 最大附件大小:10MB +- 支持格式:.jpg, .png, .pdf, .docx +- 文件命名方式:用户上传时的原始名称 + 时间戳 \ No newline at end of file