You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
杨博文 49087887ba
完成版本
3 weeks ago
..
.gradle 添加安卓客户端 1 month ago
.idea 添加安卓客户端 1 month ago
app 完成版本 3 weeks ago
gradle/wrapper 添加安卓客户端 1 month ago
README.md 添加安卓客户端 1 month ago
build.gradle 添加安卓客户端 1 month ago
gradle.properties 添加安卓客户端 1 month ago
local.properties 添加安卓客户端 1 month ago
settings.gradle 添加安卓客户端 1 month ago

README.md

邮件客户端 Android App

基于SMTP/POP3协议的Android邮件客户端配合Flask邮件服务器使用。

功能特性

  • 用户注册/登录通过HTTP API
  • 通过POP3协议接收邮件
  • 通过SMTP协议发送邮件
  • 通过POP3协议删除邮件
  • 通讯录管理通过HTTP API
  • 服务器配置

协议使用说明

邮件功能SMTP/POP3

功能 协议 说明
发送邮件 SMTP 连接SMTP服务器(端口2525)发送
接收邮件 POP3 连接POP3服务器(端口1100)获取
删除邮件 POP3 通过POP3的DELE命令删除

其他功能HTTP API

功能 接口
用户登录 POST /api/auth/login
用户注册 POST /api/auth/register
通讯录管理 /api/contacts

项目结构

EmailClientAndroid/
├── app/src/main/java/com/example/emailclient/
│   ├── data/           # 数据模型
│   ├── network/
│   │   ├── SmtpClient.kt   # SMTP客户端(发送邮件)
│   │   ├── Pop3Client.kt   # POP3客户端(接收/删除邮件)
│   │   ├── ApiService.kt   # HTTP API(认证/通讯录)
│   │   └── RetrofitClient.kt
│   └── ui/             # 界面层
└── app/src/main/res/   # 资源文件

SMTP发送邮件流程

1. 连接SMTP服务器 (端口2525)
2. 接收: 220 服务器就绪
3. 发送: EHLO localhost
4. 接收: 250 OK
5. 发送: MAIL FROM:<发件人邮箱>
6. 接收: 250 OK
7. 发送: RCPT TO:<收件人邮箱>
8. 接收: 250 OK
9. 发送: DATA
10. 接收: 354 开始输入
11. 发送: 邮件头和正文,以"."结束
12. 接收: 250 OK
13. 发送: QUIT

POP3接收邮件流程

1. 连接POP3服务器 (端口1100)
2. 接收: +OK 服务器就绪
3. 发送: USER 用户名
4. 接收: +OK
5. 发送: PASS 密码
6. 接收: +OK 登录成功
7. 发送: STAT
8. 接收: +OK 邮件数量 总大小
9. 发送: UIDL (获取邮件唯一ID)
10. 发送: RETR n (获取第n封邮件)
11. 发送: DELE n (删除第n封邮件)
12. 发送: QUIT (确认删除并断开)

配置说明

在App设置页面配置

  • 服务器地址邮件服务器IP
    • 模拟器使用 10.0.2.2 访问本机
    • 真机使用服务器实际IP
  • SMTP端口默认 2525
  • POP3端口默认 1100
  • API端口默认 5000

编译运行

  1. 启动服务端:
cd email_system
pip install -r requirements.txt
python app.py
  1. 用Android Studio打开EmailClientAndroid目录

  2. 同步Gradle依赖

  3. 在设置中配置服务器地址

  4. 运行应用

使用流程

  1. 注册/登录账号
  2. 输入密码验证身份用于POP3认证
  3. 自动通过POP3获取收件箱邮件
  4. 点击邮件查看详情
  5. 长按邮件可删除通过POP3
  6. 点击右下角按钮写邮件通过SMTP发送