Linux C SMTP POP3 极简陋邮件客户端

摘要:
我认为协议很高,但做了这件事后,我发现没问题,没有我想的那么难。/*有一些公共头文件*/#include #include #include #包含 //字节顺序转换函数#include //地址查询externantBUFFMAX;externavoidrecvCntInfo;头文件#include<stdio h>/*以下定义常量*/constantBUFFMAX=2000//接受消息缓冲区大小/*函数已处理*/voidrecvCntInfo{if{printf(“recv error,退出程序!”);退出;}否则,如果{printf(“没有消息可用或另一方已按顺序结束!

以前以为协议非常高神,但做了这个之后发现还好,没想象的那么艰难。

先要了解邮件的原理

再者就是上面2协议

可以先用telnet测试一下,以初步了解那2协议:http://hi.baidu.com/343243581/item/113c7212ced7e0e05e53b1d8

实现大致思想,SMTP,POP3相关介绍:http://www.doc88.com/p-929298657611.html

主要人家都讲得很好很详细了,天冷,我也懒得打字了。

Linux C SMTP POP3 极简陋邮件客户端第1张Linux C SMTP POP3 极简陋邮件客户端第2张
/*这里面放一些公共的头文件*/

#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>  //字节序转换函数
#include <netdb.h>  //地址查询

extern int BUFFMAX;
extern void recvCntInfo(int cnt,char thisBuff[]);
头文件
Linux C SMTP POP3 极简陋邮件客户端第3张Linux C SMTP POP3 极简陋邮件客户端第4张
#include <stdio.h>

/*下面定义常量*/
const int BUFFMAX=2000;   //接受消息缓冲区大小

/*处理的函数*/

void recvCntInfo(int cnt,char thisBuff[])
{
  if(cnt==-1)
  {
    printf("recv出错,退出程序!
");
    exit(0);
  }
  else if(cnt==0)
  {
    printf("无可用消息或对方已经按序结束!
");
  }
  else
  {
    thisBuff[cnt]='

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Go -- etcd详解(转)曾鸣《智能商业》- 读书笔记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux下的磁盘加密方法

Linux下的磁盘加密方法 转载时请注明出处和作者联系方式作者联系方式:李先静 <xianjimli at hotmail dot com> 随着智能手机的计算能力和存储能力的提高,手机中将会存放越来越多的私有数据,这些数据的泄密可能造成严重后果。手机信息安全一直是我们的重点之一,对于一些重要的功能我们要求鉴权后才能使用,但这只能挡住初级的黑...

Linux下PHP自动生成文章预览图,html转换成各种格式图片、PDF-----转自phpboy的文章

原文地址:http://www.phpboy.net/linux/575.html 用WordPress建立博客站点,选择了一套可以显示文章缩略图的模板,几经折腾将原有模板改得面目全非,最后还是直接上线吧,不想折腾了。 站点上线没几天,在公司做项目时,对图片做了一个放大的JS,自己博客也加上点击缩略图查看原图的功能,然后迅速的加了。 过了几天,突发奇想,想...

Linux Node 服务器基础布置流程

一、安装Node 1. 下载Linux二进制文件 可以下载(https://nodejs.org/zh-cn/download/)至本地电脑,再上传至服务器。  也可以直接在服务器上下载: wget https://nodejs.org/dist/v16.13.0/node-v16.13.0-linux-x64.tar.xz  2. 解压文件 假设压缩...

boost asio 学习(七) 网络基础 连接器和接收器(TCP示例)

http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=8 7. Networking basics: connectors and acceptors (TCP)我们来学习boost的TCP网络编程。之前的篇章已经介绍了网络系统...

PHP调用Linux的命令行执行文件压缩命令&amp;amp;&amp;amp;创建文件夹修改权限

一开始,我和普通青年一样,想到用PHP内置的 ZipArchive纠结的是环境上没安装zip扩展,想采用用PHP调用Linux的命令行 ,执行压缩命令,感兴趣的朋友可以了解下,希望本文对你有所帮助 前几天工作中,需要将3个txt文件,打包成*.zip down到本地…… 一开始,我和普通青年一样,想到用PHP内置的 ZipArchive,代码看起来应该是...

Linux makefile 教程 非常详细,且易懂

Linux makefile 教程 非常详细,且易懂 陈皓 (CSDN) 概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂 。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,...