• 大小: 10.47MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2023-10-24
  • 语言: 其他
  • 标签: POP3协议  

资源简介

编写POP3协议登录163邮箱查看里面的邮件,里面解析邮件可以学习一下,解析Base64编码,UTF-8编码的邮件,分析信头字段.

资源截图

代码片段和文件信息

#include “h.h“
//base64转明文
char table[] =
{
‘A‘  ‘B‘  ‘C‘  ‘D‘  ‘E‘  ‘F‘  ‘G‘
‘H‘  ‘I‘  ‘J‘  ‘K‘  ‘L‘  ‘M‘  ‘N‘
‘O‘  ‘P‘  ‘Q‘  ‘R‘  ‘S‘  ‘T‘  ‘U‘
‘V‘  ‘W‘  ‘X‘  ‘Y‘  ‘Z‘  ‘a‘  ‘b‘
‘c‘  ‘d‘  ‘e‘  ‘f‘  ‘g‘  ‘h‘  ‘i‘
‘j‘  ‘k‘  ‘l‘  ‘m‘  ‘n‘  ‘o‘  ‘p‘
‘q‘  ‘r‘  ‘s‘  ‘t‘  ‘u‘  ‘v‘  ‘w‘
‘x‘  ‘y‘  ‘z‘  ‘0‘  ‘1‘  ‘2‘  ‘3‘
‘4‘  ‘5‘  ‘6‘  ‘7‘  ‘8‘  ‘9‘  ‘+‘
‘/‘  ‘=‘
};
char* base64_decode(const char *src)
{
int count = 0 len = 0;
char *dst = NULL;

int tmp = 0 buf = 0;
int i = 0 j = 0 k = 0;
char in[5] = { 0 };
len = strlen(src);
count = len / 4;

dst = (char *)malloc(count * 3 + 1);
memset(dst 0 count * 3 + 1);

for (j = 0; j < count; j++)
{
memset(in 0 sizeof(in));
strncpy_s(in src + j * 4 4);

buf = 0;
for (i = 0; i < 4; i++)
{
tmp = (long)in[i];
if (tmp == ‘=‘)
{
tmp = 0;
}
else
{
for (k = 0; ; k++)
{
if (table[k] == tmp)
break;
}
tmp = k;
}
tmp <<= (18 - i * 6);
buf |= tmp;

}

for (i = 0; i < 3; i++)
{
tmp = buf >> (16 - i * 8);
tmp &= 0xff;
dst[j * 3 + i] = tmp;
}
}

return dst;
}
char* Utf8ToAscii(const char* szU8) //以\0结尾
{
//先转换为Unicode字符串
//预转换,得到所需空间的大小;
int wcsLen = ::MultiByteToWideChar(CP_UTF8 0 szU8 strlen(szU8) NULL 0);
//分配空间要给‘\0‘留个空间,MultiByteToWideChar不会给‘\0‘空间
wchar_t* wszString = new wchar_t[wcsLen + 1];
if (!wszString)
return NULL;
//转换
::MultiByteToWideChar(CP_UTF8 NULL szU8 strlen(szU8) wszString wcsLen);
//最后加上‘\0‘
wszString[wcsLen] = ‘\0‘;
//转换为Ascii字符串
int asciilen = WideCharToMultiByte(CP_ACP 0 wszString -1 NULL 0 ‘\0‘ NULL);
char* ascii = new char[asciilen + 1];
if (!ascii)
{
delete[]wszString;
return NULL;
}
WideCharToMultiByte(CP_ACP 0 wszString -1 ascii asciilen ‘\0‘ NULL);
ascii[asciilen] = ‘\0‘;
delete[]wszString;
return ascii;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-01 14:20  POP3\
     目录           0  2017-11-01 14:05  POP3\.vs\
     目录           0  2017-11-01 14:05  POP3\.vs\POP3\
     目录           0  2017-11-01 14:05  POP3\.vs\POP3\v14\
     文件       55808  2017-11-01 14:20  POP3\.vs\POP3\v14\.suo
     目录           0  2017-11-01 14:20  POP3\Debug\
     目录           0  2017-11-01 14:19  POP3\POP3\
     目录           0  2017-11-01 14:19  POP3\POP3\Debug\
     文件         786  2017-11-01 14:19  POP3\POP3\Debug\POP3.Build.CppClean.log
     文件           3  2017-11-01 14:19  POP3\POP3\Debug\POP3.log
     目录           0  2017-11-01 14:20  POP3\POP3\Debug\POP3.tlog\
     文件        2060  2017-11-01 01:33  POP3\POP3\Func.cpp
     文件        6190  2017-10-30 16:32  POP3\POP3\POP3.vcxproj
     文件        1324  2017-10-30 16:32  POP3\POP3\POP3.vcxproj.filters
     目录           0  2017-11-01 14:19  POP3\POP3\Release\
     文件           3  2017-11-01 14:19  POP3\POP3\Release\POP3.log
     文件         426  2017-11-01 14:18  POP3\POP3\h.h
     文件        1264  2017-11-01 14:18  POP3\POP3\pop3.cpp
     文件        1688  2017-11-01 13:39  POP3\POP3\pop3.h
     文件       17649  2017-11-01 13:51  POP3\POP3\popFunc.cpp
     文件    29544448  2017-11-01 14:20  POP3\POP3.VC.db
     文件        1294  2017-10-30 00:46  POP3\POP3.sln

评论

共有 条评论