Files
send-mail/PRD.md
T
2025-10-07 21:29:43 +08:00

5.4 KiB
Raw Blame History

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 状态提示示例

  • 成功:
    邮件已成功发送至:example@example.com
    
  • 失败:
    邮件发送失败:请检查邮箱地址或网络连接。
    

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
  • 文件命名方式:用户上传时的原始名称 + 时间戳