资源简介
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下 完整的文本编辑器源码
相关资源
- C++读取Excel,就两个文件,里面有,可
-
Unreal Engine 4 sc
ripting with C++ Cookbook - 龙格库塔算法c++
- c++ socket 实现 语音 通信 双工
- CMFCToolBarVS2010
- 商品销售管理系统C++ + SQL2000开发
- CF 透视 c++ 源代码
- 基于TCP协议VC++6.0实现的聊天程序
- 车牌识别系统和车型识别系统源代码
- MFC 一维码生成+打印 支持多种编码1
- opencv 模糊C均值 c++
- C\\C++ 500面试题 + c++ 经典100题.rar
- 桌面日历源代码c++
- VC++实现的酒店管理系统软件
- VC++ OpenGL三维地形漫游
- 浅水方程C++源代码
- MFC学生成绩管理系统
- Visual C++ 开发的即时通讯系统
- 蚁群算法解决旅行商问题c++
- C++,rabbitmq-VS-64位库
- “理治棋壮”中国象棋计算机博弈引
- C++面向对象程序设计 经典例题 附练习
- Huffman和算术编码的C++实现
- 21点游戏C++模拟
- VC++直方图均衡化显示图像及直方图
- vc++ c++ c 软件自动升级程序源代码 在
- 绘制任意斜率的直线段
- 黄维通Visual C++面向对象与可视化程序
- C++builder XE2 唯一有用的破解
- 书店管理设计与实现c++
评论
共有 条评论