阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。不用担心你关注我而我却不关注你,因为我是个诚信互关的人!!互相进步谢谢!!
文章目录
- 阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。不用担心你关注我而我却不关注你,因为我是个==诚信互关==的人!!互相进步谢谢!!
- 1、背景介绍
- 2、实验分析
- 3、实验原理
- 4、代码
- 5、代码演示
1、背景介绍
研究生的一个小实验。不得不说,研究生强度确实和本科不一样,记得本科的计网期末课设只用做基于smtp的邮件发送,这一个小实验相当于期末两个课设了。
Windows下socket网络编程,Email的客户端程序(支持邮件基于SMTP的发送和POP3的接收)
2、实验分析
既然是做客户端程序,其实本质是写一个程序,然后在.exe上进行命令行的模拟,因此要清楚在命令行上,如何使用命令行命令进行基于SMTP的邮件发送和POP3的邮件接收。当然,命令不用全部实现,实现常用的即可。例如POP3实现stat、list、retr即可。
3、实验原理
自行百度吧,或者去下载我的实验报告,链接在文末。
1、电子邮件的发送和接收过程
2、SMTP协议
3、POP3协议
4、代码
说明:
-
1、我的代码是参考 《计网实验c/c++电子邮件客户端程序实现发送接收邮件》。
但此代码过于简单:
-
没有循环。我的代码加了循环和一些判错;
-
参数(即用户邮箱)只能在代码里做更改。我的可以在.exe里手动输入;
-
基于smtp协议邮件发送,用户登陆时,需要经base64加密,而文中的需要手动去base64加密网站转换以后写入代码。我的加了base64加密函数,不用自己手动转换,只需要在.exe上输入用户名、授权码的明文即可,,程序会自动base64加密。
-
-
2、程序运行前,需要手动打开邮箱的设置,在帐户中打开smtp/pop3服务,获得授权码(记得复制出来单独保存),从而实现利用第三方能够收发邮件。此授权码是用户登录时的密码!!!
-
3、其他参考链接:
-
关于基本原理的
《邮件发送和接收原理,及命令行上如何操作》写得很详细,推荐读。 -
关于基于POP3邮件接收的:
下面两篇博文出自同一个博主,功能很全,都实现了POP3 的命令行命令。
《C++建立邮件客户端之收邮件(利用POP3)(一)》
《C++建立邮件客户端之收邮件(利用POP3)(二)》 -
关于基于SMTP邮件发送的:
《计网课设----C++实现邮箱发送》我的代码smtp部分就是参照此篇博客写的;
《计算机网络课设-电子邮件客户端程序SMTP发送设计与实现(C/C++语言)》访问量比较高的一篇博客;
《C语言实现简单的SMTP发送邮件——Windows版》
《C语言实现简单的SMTP发送邮件——Linux版》
上面两篇博客加深理解,没什么解释,但编程风格很清晰,更好帮助自己加深编程流程,两者唯一区别就是执行环境不同,一个是Linux,一个是Windows。关于两个环境下的编程区别可见之前写的笔记《Linux与Windows下的socket网络编程对比》 -
同时实现SMTP和POP3
《使用SMTP 和POP3 协议实现收发邮件(C/C++)》此篇和我相比,有点就是面向对象编程了,使用了工程、类。
-
5、代码演示
部分演示,自己去摆弄吧,没错误,能跑通,不然咋交老师?真不想写博客了,三天写了10篇博客,吐了,实验室还有一大堆事。
发送邮件
查看邮件
我的实验报告链接,写了两天半,里面有实验分析、实验原理、程序设计框图、代码运行演示赚点点积分不过分吧?
或者你觉得对你有帮助的话,再打赏一点我也不介意。
码字不易,谢谢点赞!诚信互关,诚信互关,诚信互关!!!
码字不易,谢谢点赞!诚信互关,诚信互关,诚信互关!!!
码字不易,谢谢点赞!诚信互关,诚信互关,诚信互关!!!