一、项目题目及功能

项目题目:设计一个邮件收发客户端程序

功能:设置邮件账户、接收服务器和发送服务器等

接收邮件并显示在一个列表里

编写、发送新邮件

可暂不考虑邮件内容的编码/解码问题

删除邮件

邮件标记:已读、未读

注:参照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 -h查看帮助文档

命令 email setuser设定用户

命令 email send 目标邮箱 发送邮件

模块二:设定用户,用于设置账户信息

模块三:发送邮件,用户输入邮件信息,实现邮件发送功能

模块四:收件箱查看,可查看邮件信息,已读未读,同时在该模块里嵌套删除邮件的功能

参考文档和完整的文档和源码下载地址:

linux邮件收发程序流程图,[源码和文档分享]基于C语言和TCP Socket实现的Linux环境下的邮件收发客户端程序...相关推荐

  1. linux c邮件客户端,[源码和文档分享]基于C语言和TCP Socket实现的Linux环境下的邮件收发客户端程序...

    一.项目题目及功能 项目题目:设计一个邮件收发客户端程序 功能:设置邮件账户.接收服务器和发送服务器等 接收邮件并显示在一个列表里 编写.发送新邮件 可暂不考虑邮件内容的编码/解码问题 删除邮件 邮件 ...

  2. 图书管理系统 java 源码_[源码和文档分享]基于C语言和SQL SERVER数据库实现的图书管理系统...

    摘 要 本文根据<数据库应用系统设计>课程要求而做.选择图书馆管理系统设计与开发是因为觉得图书馆管理系统对我们的帮助很大,并且经常去图书馆,对图书馆的大部分功能及流程还是比较了解,而且现在 ...

  3. [源码和文档分享]基于Android Studio实现的在线学习课堂APP

    1 项目介绍 1.1 背景 本软件的开发意图是想让更多想学习外语,却没有好的方法,不知道如何学习,怎么学习,本软件可以为那些想学习的外语的用户,提供各种资源文件,因为现在是互联网的时代普通的纸质书籍不 ...

  4. java rpg对战_[源码和文档分享]基于java的RPG回合制游戏

    一.工作积累总结 该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议的故事.玩家可 ...

  5. bootstrap signin将邮件改成用户名_[源码和文档分享]基于VC++和Oracle数据库的邮件管理系统的设计与实现...

    摘 要 电子邮件的使用简易,投递迅速,收费低廉,易于保存,全球畅通无阻,使得电子邮件被广泛地应用,当前流行的各大邮件系统除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功 ...

  6. java记事本技术参数_[源码和文档分享]基于JAVA的记事本

    一.绪论 现如今,电脑已经成为了每家每户甚至是每个人手头都必有的一种实用性工具,它改变了人们的生活,大大提高了人们的工作效率.在此基础上,电脑端的记事本应用一直是每台电脑所必备的实用性应用,不管是在台 ...

  7. 基于文本 c语言,[源码和文档分享]基于C语言实现的文件系统

    1 实验目的 学习FAT文件系统的构成 能够将自己的程序应用在系统上 熟悉dd,mount,umount,等指令 设计并实现一个目录列表函数(无须支持选项,如ls -a.ls -l等),用来显示当前目 ...

  8. android电梯程序设计,[源码和文档分享]基于Android实现的电梯调度模拟

    一.使用说明 1.1 项目简介 某一楼有20层,操作者可以通过使用5部电梯从起始楼层来到达指定的楼层.本项目通过实现电梯调度,来模拟实现操作系统的调度过程,并且学习Android环境下使用Java的多 ...

  9. [源码和文档分享]基于C#实现的RPG角色扮演类小游戏

    1 需求分析 1.1 游戏概述 DragonQuest是一个角色扮演类游戏(RPG),该游戏实现的具体功能是设计两种类型的人物,分别为被玩家所控制的玩家人物(Hero)和由系统所控制的外部人物(Ene ...

最新文章

  1. CVPR2022最新106篇论文整理|包含目标检测、动作识别、图像处理等32个方向
  2. spark读取hdfs路径下的数据_到底什么是数据湖
  3. worknc的后处理如何安装_如何选择永磁变频螺杆空压机的冷干机?
  4. android下图片压缩
  5. 问题五十四:怎么用ray tracing画参数方程表示的曲面(2)—— bezier surface
  6. 认识协程gevent
  7. Flink+Alink,当大数据遇见机器学习! 博文视点Broadview 前天
  8. [模拟][字符串]计算器的改良
  9. 4.24口语习语 听力复习
  10. fseek函数c语言_在C / C ++中使用fseek()函数的指南
  11. 给排水科学与工程和计算机选哪个,2021中国给排水科学与工程专业大学排名 最好的高校排行榜...
  12. 密码应用安全性评估实施要点之三密钥管理要求与实现要点
  13. 源自神话的写作要义之英雄
  14. 区块链系列 - 以太坊简介
  15. 关于Windows PowerShell
  16. Web应用优化 - 优化切页模式
  17. 泛微齐业成,一文告诉你如何实现全程数字化的预算管理
  18. WARNING: Heavy swapping observed on system in last 5 mins.
  19. ​QGIS Cloud 一个基于云的 GIS 平台
  20. 如何查看谷歌浏览器中保存的密码

热门文章

  1. python从入门到精通 明日科技 电子书-Python从入门到精通(明日科技出版) 源代码+课件+视频 全套...
  2. python爬虫教程-Python爬虫全集
  3. 学好python工资一般多少-学会Python后,月薪40k是什么水平?
  4. python没基础能自学吗-需要自学python吗?大概多久能学会?
  5. python与excel-python3与Excel的完美结合
  6. python基础教程菜鸟教程-终于懂得python入门菜鸟教程
  7. python为什么叫爬虫-python为什么叫爬虫?为什么python开发会突然火起来?
  8. mysql 5.6 bug_MySQL 5.6的一个bug引发的故障
  9. gsonformat 实例_10分钟看懂Photoshop 实例:在阈值模式下调整照片的清晰度
  10. 【动态规划】01背包问题:猫狗大战