一、项目题目及功能
-
项目题目:设计一个邮件收发客户端程序
-
功能:设置邮件账户、接收服务器和发送服务器等
- 接收邮件并显示在一个列表里
- 编写、发送新邮件
- 可暂不考虑邮件内容的编码/解码问题
- 删除邮件
- 邮件标记:已读、未读
注:参照outlook express、foxmail、thunderbird或Linux下的mail命令等。
二、项目整体设计框架图及说明
这是一个在Linux下用命令行操作的邮件收发系统。编程语言为C语言,实现过程中利用TCP套接字来与服务器实现数据交流。邮件功能涉及到两个个邮箱协议:SMTP、IMAP4、POP3。
其中SMTP是发送邮件协议,IMAP4跟POP3是接受邮件协议,由于POP3协议不能完成邮件是否已读功能,接受邮件实现用的IMAP4协议。程序分模块实现,先实现用户账户信息的绑定(软件目前连接163邮箱的服务器,故只能实现163邮箱用户的)。再用TCP协议连接服务器,再分别实现邮件的收发功能,邮件的删除属于收件箱里的子功能。查看收件箱的邮件内容时,因未能实现base64转gb2312编码,所以用户无法直接阅读邮件的中文内容,只能解码英文字符。
三、项目分模块设计说明、流程图
-
模块一:主函数,用户获取用户命令,根据用户命令调用相应功能
- 命令 mail 查看帮助信息及功能说明。
- 命令 email inbox进入收件箱
- 命令 email