資源簡介
用C++編寫的發送郵件的程序,很好用,可以包含郵件正文內容,還可以包含附件,功能強大。

代碼片段和文件信息
/*?
???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]);
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3842??2016-05-21?15:04??CSmtp_v1_4\ba
?????文件????????190??2008-07-18?20:30??CSmtp_v1_4\ba
?????文件??????25068??2016-05-22?20:55??CSmtp_v1_4\CSmtp.cpp
?????文件???????4511??2008-08-22?02:39??CSmtp_v1_4\CSmtp.dsp
?????文件????????535??2008-08-20?14:05??CSmtp_v1_4\CSmtp.dsw
?????文件???????3769??2009-03-05?15:04??CSmtp_v1_4\CSmtp.h
?????文件??????41984??2009-03-05?15:11??CSmtp_v1_4\CSmtp.ncb
?????文件??????48640??2009-03-05?15:11??CSmtp_v1_4\CSmtp.opt
?????文件???????2274??2009-03-05?15:11??CSmtp_v1_4\CSmtp.plg
?????文件???????7680??2016-09-03?21:59??CSmtp_v1_4\CSmtp.v12.suo
?????文件???????6437??2016-05-21?14:55??CSmtp_v1_4\CSmtp.vcxproj
?????文件???????1297??2016-05-21?14:53??CSmtp_v1_4\CSmtp.vcxproj.filters
?????文件?????164481??2016-09-03?21:59??CSmtp_v1_4\Debug\ba
?????文件???????1072??2016-05-22?20:55??CSmtp_v1_4\Debug\CSmtp.Build.CppClean.log
?????文件?????704000??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.exe
?????文件????1722512??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.ilk
?????文件??????37214??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.log
?????文件?????507945??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.obj
?????文件????3525632??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.pdb
?????文件???????7886??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.tlog\cl.command.1.tlog
?????文件?????139014??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.tlog\CL.read.1.tlog
?????文件???????3672??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.tlog\CL.write.1.tlog
?????文件????????169??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.tlog\CSmtp.lastbuildstate
?????文件???????6220??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.tlog\li
?????文件???????8238??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.tlog\li
?????文件???????2192??2016-09-03?21:59??CSmtp_v1_4\Debug\CSmtp.tlog\li
?????文件?????175073??2016-09-03?21:59??CSmtp_v1_4\Debug\main.obj
?????文件????1805312??2016-09-03?21:59??CSmtp_v1_4\Debug\vc120.idb
?????文件?????495616??2016-09-03?21:59??CSmtp_v1_4\Debug\vc120.pdb
?????文件???????1150??2016-09-03?21:59??CSmtp_v1_4\main.cpp
............此處省略8個文件信息
- 上一篇:leetcode算法題答案PDF
- 下一篇:C++課程設計貪吃蛇源碼+課設報告
評論
共有 條評論