无限邮箱系统 技术栈文档-注册白嫖老外AI工具必备
视频演示
augment开发比cursor还香-开发无限邮箱系统在3分
augment开发比cursor还香-开发无限邮箱系统00:03:00
站点演示
mail.xoxome.online
无限邮箱系统 技术栈文档
项目概述
AiwebMail 是一个基于 Next.js 开发的临时邮箱服务系统,支持多邮箱服务商,提供邮箱注册、邮件接收、验证码提取等功能。该系统允许用户生成临时邮箱地址,接收邮件,并自动提取验证码等关键信息。
核心技术栈
前端技术
技术/库 | 版本 | 用途 |
---|---|---|
Next.js | 14.2.28 | React 框架,用于服务端渲染和路由管理 |
React | 18.2.0 | 用户界面库 |
TypeScript | 5.3.3 | 静态类型检查 |
TailwindCSS | 3.4.1 | 实用优先的 CSS 框架 |
Framer Motion | 11.0.3 | 动画库,提供流畅的界面过渡效果 |
Axios | 1.6.5 | HTTP 客户端,用于 API 请求 |
Lucide React | 0.507.0 | 图标库 |
后端技术
技术/库 | 版本 | 用途 |
---|---|---|
Next.js API Routes | 14.2.28 | 服务端 API 实现 |
MySQL | - | 关系型数据库 |
mysql2 | 3.7.0 | MySQL 客户端 |
ImapFlow | 1.0.186 | IMAP 客户端,用于邮件获取 |
node-imap | 0.9.6 | IMAP 协议实现 |
mailparser | 3.7.2 | 邮件解析库 |
iconv-lite | 0.6.3 | 字符编码转换,处理邮件编码问题 |
认证与安全
技术/库 | 版本 | 用途 |
---|---|---|
jsonwebtoken | 9.0.2 | JWT 实现,用于用户认证 |
jose | 6.0.11 | JavaScript 对象签名和加密 |
bcryptjs | 2.4.3 | 密码哈希处理 |
开发工具
技术/库 | 版本 | 用途 |
---|---|---|
ESLint | 8.56.0 | 代码质量检查 |
PostCSS | 8.4.33 | CSS 转换工具 |
Autoprefixer | 10.4.16 | 自动添加 CSS 前缀 |
部署环境
技术 | 用途 |
---|---|
Node.js 18+ | 运行环境 |
Nginx | Web 服务器和反向代理 |
宝塔面板 | 服务器管理工具 |
项目架构
目录结构
AiwebMail/
├── src/
│ ├── app/ # Next.js 应用路由
│ │ ├── api/ # API 路由
│ │ ├── auth/ # 认证相关页面
│ │ ├── dashboard/ # 用户仪表盘
│ │ └── layout.tsx # 根布局
│ ├── components/ # React 组件
│ ├── lib/ # 工具函数和服务
│ └── types/ # TypeScript 类型定义
├── public/ # 静态资源
├── .env.production # 生产环境配置
└── next.config.js # Next.js 配置
核心功能模块
1. 邮箱服务
- 邮件获取: 使用 ImapFlow 和 node-imap 库连接 IMAP 服务器获取邮件
- 邮件解析: 使用 mailparser 解析邮件内容,支持多种编码格式
- 验证码提取: 自动识别并提取邮件中的验证码
- 中文邮件处理: 特殊处理中文编码问题,支持 GB18030、GBK 等编码
2. 用户系统
- 用户认证: 基于 JWT 的用户认证系统
- 配额管理: 用户邮件接收配额管理
- 个人资料: 用户资料管理
3. 前端界面
- 响应式设计: 适配不同设备屏幕
- 动画效果: 使用 Framer Motion 实现流畅的界面动画
- 实时更新: 定时获取新邮件并实时更新界面
4. 数据存储
- MySQL 数据库: 存储用户信息、邮件配置和系统设置
- 数据表:
- users: 用户表
- emails: 邮件表
- transactions: 交易表
- websystem_config: 系统配置表
API 接口
认证 API
POST /api/auth/register
: 用户注册POST /api/auth/login
: 用户登录POST /api/auth/logout
: 用户登出
邮件 API
GET /api/emails/imap-fetch
: 获取邮件列表GET /api/email/suffixes
: 获取可用邮箱后缀POST /api/email/generate
: 生成临时邮箱地址
用户 API
GET /api/user/profile
: 获取用户资料POST /api/user/quota
: 更新用户配额GET /api/user/quota
: 获取用户配额
部署要求
服务器要求
- 操作系统: Linux/Windows
- Node.js: 18.17.0 或更高版本
- 内存: 至少 1GB RAM
- 存储: 至少 10GB 可用空间
环境变量配置
NODE_ENV=production
JWT_SECRET=your-secure-jwt-secret
DB_HOST=your-db-host
DB_USER=your-db-user
DB_PASSWORD=your-db-password
DB_NAME=your-db-name
部署步骤
- 安装依赖:
npm install
- 构建项目:
npm run build
- 启动服务:
npm run start
或npm run start:simple
性能优化
- 使用 Next.js 的服务端渲染提高首屏加载速度
- 动态导入组件减少初始加载体积
- 使用连接池管理数据库连接
- 邮件内容缓存减少重复请求
- 定时器监控确保邮件获取服务稳定运行
安全措施
- JWT 认证保护 API 接口
- 密码哈希存储
- 环境变量管理敏感信息
- TLS/SSL 加密 IMAP 连接
- 请求头验证防止未授权访问
扩展性
系统设计支持:
- 多邮箱服务商集成
- 自定义邮箱域名
- 用户配额管理
- 验证码自动提取算法优化
- 多语言支持