資源簡介
CSendMail類,支持多個收件人,支持附件(多個)。

代碼片段和文件信息
/*
**CSendMail源文件
**實現郵件的發送功能,支持多個用戶接收,支持附件
**program?by?six_beauty
*/
#include?
#include?“CSendMail.h“
#include?“time.h“
#include?
#include?
const?std::string?_AppOctStrmContent_encode_chars=“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
//類的實現
CSendMail::CSendMail(void)??
{??
}??
CSendMail::~CSendMail(void)??
{??
clearReceiver();
DeleteAllPath();
}??
//連接
bool?CSendMail::Connent()
{
//郵件信息設置判斷
if(m_ServerName.empty()?||?m_UserName.empty()?||?m_UserPwd.empty())
{
m_logInfo.logInfo(“Connect?失敗,請先設置郵件登陸信息!“);
return?false;
}
if(!CReateSocket())//建立連接??
{??
m_logInfo.logInfo(“建立連接失敗!“);
return?false;??
}
if(!Logon())//建立連接??
{??
m_logInfo.logInfo(“登陸失敗!“);
return?false;??
}
return?true;
}
//發送郵件的函數送
bool?CSendMail::SendMail(const?std::string?mail_titleconst?std::string?send_content)
{
//參數賦值
m_Mailtitle=mail_title;
m_TextBody=send_content;
if(m_SenderName.empty()?||?m_SenderAddr.empty()?||?m_Receivers.empty())
{
m_logInfo.logInfo(“[SendMail]郵件參數設置錯誤,請檢查郵件發送設置信息是否完整!“);
return?false;
}
if(!SendHead())//發送郵件頭??
{??
m_logInfo.logInfo(“發送郵件頭失敗!“);
return?false;??
}??
if(!SendTextBody())//發送郵件文本部分??
{??
return?false;??
}??
if(!SendFileBody())//發送附件??
{??
return?false;??
}??
if(!SendEnd())//結束郵件,并關閉sock??
{??
return?false;??
}??
return?true;
}
////////////////////////////////////////////設置郵件信息/////////////////////////////////////////////////////////////////////
void?CSendMail::setServerName(const?std::string?server_name) //smtp服務器地址
{
m_ServerName=server_name;
}
void?CSendMail::setUserName(const?std::string?user_name) //郵箱用戶名
{
m_UserName=user_name;
}
void?CSendMail::setUserPwd(const?std::string?user_pwd) //郵箱用戶密碼
{
m_UserPwd=user_pwd;
}
void?CSendMail::setSenderName(const?std::string?sender_name) //發送者的名字
{
m_SenderName=sender_name;
}
void?CSendMail::setSenderAddress(const?std::string?sender_addr) //發送者的郵箱(mail?form:)
{
m_SenderAddr=sender_addr;
}
void?CSendMail::addReceiver(const?std::string?name?const?std::string?address)
{
m_Receivers.insert(RECEIVERS::value_type(name?address));
}
void?CSendMail::setReceiver(const?std::string?name?const?std::string?address)
{
m_Receivers.clear();
m_Receivers.insert(RECEIVERS::value_type(name?address));
}
void?CSendMail::clearReceiver()
{
m_Receivers.clear();
}
void?CSendMail::AddFilePath(std::string?szFilePath)//添加附件路徑??
{??
for(std::list::iterator?itrList=m_FilePathList.begin();itrList!=m_FilePathList.end();++itrList)
{
if(?itrList->compare(szFilePath)?==?0?)
{
//已經存在
return?;
}
}
//還未加入
m_FilePathList.push_back(szFilePath);
}??
void?CSendMail::DeleteFilePath(std::string?szFilePath)//刪除附件路徑??
{??
for(std::list::iterator?itrList=m_FilePathList.begin();itrList!=m_Fil
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????1161228??2014-09-19?15:43??CMailSender\Debug\2665849504444423352.jpg
?????目錄???????????0??2014-09-20?10:49??CMailSender\
?????目錄???????????0??2014-09-18?15:02??CMailSender\CMailSender\
?????文件????????4115??2014-09-20?10:14??CMailSender\CMailSender\CMailSender.vcxproj
?????文件????????1251??2014-09-18?15:40??CMailSender\CMailSender\CMailSender.vcxproj.filters
?????文件?????????143??2014-09-18?10:08??CMailSender\CMailSender\CMailSender.vcxproj.user
?????文件???????11972??2014-09-20?10:43??CMailSender\CMailSender\CSendMail.cpp
?????文件????????3773??2014-09-20?10:20??CMailSender\CMailSender\CSendMail.h
?????目錄???????????0??2014-09-20?10:48??CMailSender\CMailSender\Debug\
?????文件???????45262??2014-09-20?10:48??CMailSender\CMailSender\Debug\CL.read.1.tlog
?????文件?????????982??2014-09-20?10:48??CMailSender\CMailSender\Debug\CL.write.1.tlog
?????文件????????2849??2014-09-20?10:15??CMailSender\CMailSender\Debug\CMailSender.Build.CppClean.log
?????文件?????????667??2014-09-20?10:42??CMailSender\CMailSender\Debug\CMailSender.exe.em
?????文件?????????732??2014-09-20?10:42??CMailSender\CMailSender\Debug\CMailSender.exe.em
?????文件?????????381??2014-09-20?10:48??CMailSender\CMailSender\Debug\CMailSender.exe.intermediate.manifest
?????文件??????????56??2014-09-20?10:48??CMailSender\CMailSender\Debug\CMailSender.lastbuildstate
?????文件????????2419??2014-09-20?10:48??CMailSender\CMailSender\Debug\CMailSender.log
?????文件?????????212??2014-09-20?10:15??CMailSender\CMailSender\Debug\CMailSender_manifest.rc
?????文件?????1018695??2014-09-20?10:44??CMailSender\CMailSender\Debug\CSendMail.obj
?????文件????????1202??2014-09-20?10:48??CMailSender\CMailSender\Debug\cl.command.1.tlog
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
?????文件???????????2??2014-09-20?10:48??CMailSender\CMailSender\Debug\li
............此處省略22個文件信息
- 上一篇:基于偽距的北斗單點定位
- 下一篇:vc6下 完整的文本編輯器源碼
評論
共有 條評論