C++邮箱实现直接可用(@qq,@163)类函数丰富,使用openssl,vs2013测试通过,不同邮箱需更改服务器。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 17536 2013-08-17 11:22 CSmtp_v2_4_ssl-直接可用@qqArticle Source.htm
文件 874 2010-08-09 13:32 CSmtp_v2_4_ssl-直接可用@qqBackupCSmtp.sln
文件 3844 2008-08-18 14:23 CSmtp_v2_4_ssl-直接可用@qqase64.cpp
文件 190 2008-07-18 20:30 CSmtp_v2_4_ssl-直接可用@qqase64.h
文件 76596 2017-02-28 13:44 CSmtp_v2_4_ssl-直接可用@qqCSmtp.cpp
文件 7298 2015-10-22 20:47 CSmtp_v2_4_ssl-直接可用@qqCSmtp.h
文件 38338560 2017-03-02 14:35 CSmtp_v2_4_ssl-直接可用@qqCSmtp.sdf
文件 955 2017-02-28 11:41 CSmtp_v2_4_ssl-直接可用@qqCSmtp.sln
..A..H. 17920 2017-03-02 14:35 CSmtp_v2_4_ssl-直接可用@qqCSmtp.v12.suo
文件 6477 2010-08-20 20:26 CSmtp_v2_4_ssl-直接可用@qqCSmtp.vcproj
文件 7238 2017-02-28 11:41 CSmtp_v2_4_ssl-直接可用@qqCSmtp.vcxproj
文件 1475 2017-02-28 11:41 CSmtp_v2_4_ssl-直接可用@qqCSmtp.vcxproj.filters
文件 141050 2017-02-28 11:42 CSmtp_v2_4_ssl-直接可用@qqDebugase64.obj
文件 2202624 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.exe
文件 5547784 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.ilk
文件 1470 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.log
文件 708761 2017-02-28 14:29 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.obj
文件 9342976 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.pdb
文件 3026 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogcl.command.1.tlog
文件 98526 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogCL.read.1.tlog
文件 3092 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogCL.write.1.tlog
文件 178 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogCSmtp.lastbuildstate
文件 1482 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tloglink.command.1.tlog
文件 3764 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tloglink.read.1.tlog
文件 862 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tloglink.write.1.tlog
文件 219460 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugmain.obj
文件 287653 2017-02-28 11:42 CSmtp_v2_4_ssl-直接可用@qqDebugmd5.obj
文件 1182720 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugvc120.idb
文件 544768 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugvc120.pdb
文件 1877 2017-03-02 14:30 CSmtp_v2_4_ssl-直接可用@qqmain.cpp
............此处省略85个文件信息
/*
base64.cpp and base64.h
Copyright (C) 2004-2008 Ren?Nyffenegger
This source code is provided ‘as-is‘ without any express or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose
including commercial applications and to alter it and redistribute it
freely subject to the following restrictions:
1. The origin of this source code must not be misrepresented; you must not
claim that you wrote the original source code. If you use this source code
in a product an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such and must not be
misrepresented as being the original source code.
3. This notice may not be removed or altered from any source distribution.
Ren?Nyffenegger rene.nyffenegger@adp-gmbh.ch
*/
#include “base64.h“
#include
static const std::string base64_chars =
“ABCDEFGHIJKLMNOPQRSTUVWXYZ“
“abcdefghijklmnopqrstuvwxyz“
“0123456789+/“;
static inline bool is_base64(unsigned char c)
{
return (isalnum(c) || (c == ‘+‘) || (c == ‘/‘));
}
std::string base64_encode(unsigned char const* bytes_to_encode unsigned int in_len)
{
std::string ret;
int i = 0 j = 0;
unsigned char char_array_3[3] char_array_4[4];
while (in_len--)
{
char_array_3[i++] = *(bytes_to_encode++);
if (i == 3)
{
char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
char_array_4[3] = char_array_3[2] & 0x3f;
for(i = 0; (i <4) ; i++)
ret += base64_chars[char_array_4[i]];
i = 0;
}
}
if (i)
{
for(j = i; j < 3; j++)
char_array_3[j] = ‘ ‘;
char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
char_array_4[3] = char_array_3[2] & 0x3f;
for (j = 0; (j < i + 1); j++)
ret += base64_chars[char_array_4[j]];
while((i++ < 3))
ret += ‘=‘;
}
return ret;
}
std::string base64_decode(std::string const& encoded_string)
{
int in_len = encoded_string.size();
int i = 0 j = 0 in_ = 0;
unsigned char char_array_4[4] char_array_3[3];
std::string ret;
while (in_len-- && ( encoded_string[in_] != ‘=‘) && is_base64(encoded_string[in_]))
{
char_array_4[i++] = encoded_string[in_]; in_++;
if (i ==4) {
for (i = 0; i <4; i++)
char_array_4[i] = base64_chars.find(char_array_4[i]);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 17536 2013-08-17 11:22 CSmtp_v2_4_ssl-直接可用@qqArticle Source.htm
文件 874 2010-08-09 13:32 CSmtp_v2_4_ssl-直接可用@qqBackupCSmtp.sln
文件 3844 2008-08-18 14:23 CSmtp_v2_4_ssl-直接可用@qqa
文件 190 2008-07-18 20:30 CSmtp_v2_4_ssl-直接可用@qqa
文件 76596 2017-02-28 13:44 CSmtp_v2_4_ssl-直接可用@qqCSmtp.cpp
文件 7298 2015-10-22 20:47 CSmtp_v2_4_ssl-直接可用@qqCSmtp.h
文件 38338560 2017-03-02 14:35 CSmtp_v2_4_ssl-直接可用@qqCSmtp.sdf
文件 955 2017-02-28 11:41 CSmtp_v2_4_ssl-直接可用@qqCSmtp.sln
..A..H. 17920 2017-03-02 14:35 CSmtp_v2_4_ssl-直接可用@qqCSmtp.v12.suo
文件 6477 2010-08-20 20:26 CSmtp_v2_4_ssl-直接可用@qqCSmtp.vcproj
文件 7238 2017-02-28 11:41 CSmtp_v2_4_ssl-直接可用@qqCSmtp.vcxproj
文件 1475 2017-02-28 11:41 CSmtp_v2_4_ssl-直接可用@qqCSmtp.vcxproj.filters
文件 141050 2017-02-28 11:42 CSmtp_v2_4_ssl-直接可用@qqDebuga
文件 2202624 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.exe
文件 5547784 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.ilk
文件 1470 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.log
文件 708761 2017-02-28 14:29 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.obj
文件 9342976 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.pdb
文件 3026 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogcl.command.1.tlog
文件 98526 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogCL.read.1.tlog
文件 3092 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogCL.write.1.tlog
文件 178 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogCSmtp.lastbuildstate
文件 1482 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogli
文件 3764 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogli
文件 862 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugCSmtp.tlogli
文件 219460 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugmain.obj
文件 287653 2017-02-28 11:42 CSmtp_v2_4_ssl-直接可用@qqDebugmd5.obj
文件 1182720 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugvc120.idb
文件 544768 2017-02-28 14:47 CSmtp_v2_4_ssl-直接可用@qqDebugvc120.pdb
文件 1877 2017-03-02 14:30 CSmtp_v2_4_ssl-直接可用@qqmain.cpp
............此处省略85个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)