• 大小: 6.9MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-01
  • 语言: C/C++
  • 标签: c++  mail  vs2010  

资源简介

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.embed.manifest
     文件         732  2014-09-20 10:42  CMailSender\CMailSender\Debug\CMailSender.exe.embed.manifest.res
     文件         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\link-cvtres.read.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link-cvtres.write.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.2960-cvtres.read.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.2960-cvtres.write.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.2960.read.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.2960.write.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.6484-cvtres.read.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.6484-cvtres.write.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.6484.read.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.6484.write.1.tlog
     文件           2  2014-09-20 10:48  CMailSender\CMailSender\Debug\link.7808-cvtres.read.1.tlog
............此处省略22个文件信息

评论

共有 条评论