一个简单到简陋的email发送实现(base64编码借鉴了网上代码)
#include "iostream"
#include "netinet/in.h"
#include "netdb.h"
#include "string.h"
#include "unistd.h"
#include "sys/socket.h"
#include "sys/types.h"
#include "stdio.h"
#include "arpa/inet.h"
#include "stdlib.h"
#include "pthread.h"
using namespace std;
#define SIZE 100
struct Base64Date6
{
unsigned int d4 : 6;
unsigned int d3 : 6;
unsigned int d2 : 6;
unsigned int d1 : 6;
};
char sbuf[SIZE],rbuf[SIZE];
//辅助计算的函数
char ConvertToBase64(char uc)
{
if (uc < 26)
{
return 'A' + uc;
}
if (uc < 52)
{
return 'a' + (uc - 26);
}
if (uc < 62)
{
return '0' + (uc - 52);
}
if (uc == 62)
{
return '+';
}
return '/';
}
//转换为Base64编码函数
void EncodeBase64(char *dbuf, char *buf128, int len)
{ //参数1:接收新Base64编码的缓冲区 参数2:要转换的字符串缓冲区 参数3:要转换的字符串长度
struct Base64Date6 *ddd = NULL;
int i = 0;
char buf[256] = { 0 };
char *tmp = NULL;
char cc = '\0';
memset(buf, 0, 256);
memcpy