# email-server
**Repository Path**: W-Matrix/email-server
## Basic Information
- **Project Name**: email-server
- **Description**: 一个简单的邮件服务器,接收应用程序的邮件发送请求并完成邮件发送。
- **Primary Language**: Python
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 7
- **Forks**: 1
- **Created**: 2014-05-11
- **Last Updated**: 2021-11-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#email-server
一、需求场景
1.在IPC产品中常常有邮件报警功能,而在嵌入式系统中实现邮件发送常常不是很稳定可靠(C开发),因此通过将报警邮件的发送转移到服务器来实现。
2.在设备端邮件报警有一大堆参数需要设置,某一个参数设置不对就可能导致邮件发送失败,应该简化参数设置,只要用户设置对了收件箱就保证能收到报警邮件。
二、功能规格
1. 客户端与服务器端的通讯协议:客户端将邮件发送的信息与请求告知服务器端,采用XML格式方式,提高扩展性
2. 服务器端的日志记录,对邮件发送进行数据库的记录,提供查询
三、设计
1.XML协议设计,信息参数: 发送者用户名、密码(如果有),收件人用户名(可以多个)、邮箱正文、邮件附件
字符串格式:“to:George,bruce;from:John;head:alarm-xxx;body:Don't forget the meeting!;size:10240;path:image.jpg”
George;bruce
John
alarm-xxx
Don't forget the meeting!
10240
image.jpg
2. 客户端与服务器端通讯流程
a. 客户端发送 xml 的发送请求
b. 服务器端接收到请求,将附件名称告诉客户端获取附件二进制数据
c. 客户端发送附件数据给服务器端,服务器端写附件文件用来发送
d. 服务器端接收完所需数据后发送邮件,并将发送成功还是失败告知客户端
ok
e. 客户端接收到结果后,关闭连接