本文介绍了如何使用纯C语言在Windows操作系统下通过Socket编程及SMTP协议实现发送包含附件的电子邮件的功能。
主要功能:1. 可以发送带附件的邮件,附件可以是多个文件,具体的大小限制由发送方服务器决定;2. 邮件内容和主题可为空,但若有附件,则默认主题为第一个附件名称(不含扩展名);3. 密码验证采用base64加密方式处理;4. 邮件正文及附件的数据传输均使用base64编码方式进行。
压缩包文件简介:
- base.c:包含一些基本函数,其中部分未在程序中使用。主要依赖于base64加密算法。
- mail.c:涉及邮件发送、数据读取、编码转换、SMTP服务器连接以及IP解析等功能的实现。
- mailsend.c:主源代码文件所在位置;mail.exe是通过编译mailsend.c, mail.c和base.c生成,具体编译方法参照makefile
- libbase.a: 编译后产生的静态库
- moontalk.cfg:配置了base.c所需的部分参数,可能未直接使用。
- mail.cfg:自定义用户使用的配置文件。作为参考代码查看用途。
- mail.exe:邮件发送工具的执行程序;目前仅支持命令行模式操作,尚未实现图形化界面输入功能。
- b64.exe:一个用于测试和验证base64编码解码的小型实用工具。
makefile: 项目构建及链接文件
注意说明:该项目在本地使用mingw环境开发,并遵循ANSI C标准。上传时将所有相关文件打包在一起,可以参考makefile进行工程调整。
如有任何问题,请通过邮件moontalk@yeah.net联系以获取技术支持或交流讨论。