資源簡介
這是一個由老外寫的比較新的發送郵件的項目CSmtp,使用VS2008編譯,經測試,常用的163、QQ、126、sohu、outlook都支持,唯獨163發送到QQ會失敗

代碼片段和文件信息
/*?
???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]?=?‘\0‘;
????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???????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]);
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-13?16:47??CSmtp_v2.4\
?????文件???????17536??2013-08-17?11:22??CSmtp_v2.4\Article?Source.htm
?????文件????????3844??2008-08-18?14:23??CSmtp_v2.4\ba
?????文件?????????190??2008-07-18?20:30??CSmtp_v2.4\ba
?????文件???????76597??2015-10-22?21:28??CSmtp_v2.4\CSmtp.cpp
?????文件????????7298??2015-10-22?20:47??CSmtp_v2.4\CSmtp.h
?????文件?????????875??2018-08-13?16:46??CSmtp_v2.4\CSmtp.sln
?????文件????????6541??2018-08-13?16:46??CSmtp_v2.4\CSmtp.vcproj
?????文件????????1652??2012-11-03?23:20??CSmtp_v2.4\main.cpp
?????文件???????13673??2013-03-08?23:47??CSmtp_v2.4\md5.cpp
?????文件????????4441??2010-08-14?21:57??CSmtp_v2.4\md5.h
?????目錄???????????0??2013-07-10?22:31??CSmtp_v2.4\openssl-0.9.8l\
?????目錄???????????0??2013-07-10?22:31??CSmtp_v2.4\openssl-0.9.8l\inc32\
?????目錄???????????0??2013-07-10?22:31??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\
?????文件????????5682??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\aes.h
?????文件???????48773??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\asn1.h
?????文件???????28073??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\asn1t.h
?????文件???????18956??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\asn1_mac.h
?????文件???????30822??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\bio.h
?????文件????????5173??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\blowfish.h
?????文件???????33562??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\bn.h
?????文件????????4565??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\buffer.h
?????文件????????4453??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\cast.h
?????文件????????1978??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\comp.h
?????文件????????9484??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\conf.h
?????文件????????4080??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\conf_api.h
?????文件???????24217??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\crypto.h
?????文件???????10736??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\des.h
?????文件???????18238??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\des_old.h
?????文件????????8654??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\dh.h
?????文件???????11674??2010-01-08?11:59??CSmtp_v2.4\openssl-0.9.8l\inc32\openssl\dsa.h
............此處省略55個文件信息
評論
共有 條評論