C++的STP类发送邮件.docx

C++的STP类发送邮件.docx

ID:55339263

大小:25.55 KB

页数:11页

时间:2020-05-11

C++的STP类发送邮件.docx_第1页
C++的STP类发送邮件.docx_第2页
C++的STP类发送邮件.docx_第3页
C++的STP类发送邮件.docx_第4页
C++的STP类发送邮件.docx_第5页
资源描述:

《C++的STP类发送邮件.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++的SMTP类发送邮件intCMail::sendmail(){intcrecv;if(smtplogin()==0){return0;}//发送mailfrom返回250sprintf(m_sendbuff,"%s%s%s","mailfrom:<",m_user,"@163.com>r");if(senddata()==0){return0;}if(recvdata()==0){return0;}if(strncmp(m_recvbuff,"250",3)!=NULL){m_error=MAIL_FROM_ERROR;return0;}//发送rcptto返回2

2、50sprintf(m_sendbuff,"%s%s%s","rcptto:<",m_rcptto,">r");if(senddata()==0){return0;}if(recvdata()==0){return0;}if(strncmp(m_recvbuff,"250",3)!=NULL){m_error=RCPT_TO_ERROR;return0;}//发送datar返回354sprintf(m_sendbuff,"%s","datar");if(senddata()==0){return0;}if(recvdata()==0){return0;}if

3、(strncmp(m_recvbuff,"354",3)!=NULL){m_error=DATA_ERROR;return0;}//信头if(!SetMailHeader(m_sendbuff)){m_error=MAILHEADER_ERROR;return0;}if(senddata()==0){return0;}//发送空行sprintf(m_sendbuff,"%s","rr");if(senddata()==0){return0;}//发送邮件bodysprintf(m_sendbuff,"%s%s",m_data,"r");if(senddata

4、()==0){return0;}if(m_attachment!=NULL){char**pp;for(pp=m_attachment;*pp!=0;pp++){FILE*fp;char*buf;//准备发送附件,首先发送分界线,必须!sprintf(m_sendbuff,"%s%s%s","--",BOUNDARY_TEXT,"r");if(senddata()==0){return0;}sprintf(m_sendbuff,"%s%s%s","Content-Type:application/x-msdownload;name="",strrchr(*pp,'\

5、')+1,""r");if(senddata()==0){return0;}sprintf(m_sendbuff,"%s","Content-Transfer-Encoding:base64r");if(senddata()==0){return0;}sprintf(m_sendbuff,"%s%s%s","Content-Disposition:attachment;filename="",strrchr(*pp,'\')+1,""rr");if(senddata()==0){return0;}//将文件base64编码后发送fp=fopen

6、(*pp,"rb");if(fp==NULL){m_error=OPEN_FILE_ERROR;return0;}buf=newchar[BUFFERSIZE+1];memset(buf,0,BUFFERSIZE+1);intreadcount=0;while(!feof(fp)){readcount=fread(buf,1,BUFFERSIZE,fp);if(readcount>0){*(buf+readcount)='';sprintf(m_sendbuff,"%s%s",base64(buf,ENCODE,readcount),"r");if(senddata

7、()==0){return0;}memset(buf,0,BUFFERSIZE+1);}}sprintf(m_sendbuff,"%s","r");if(senddata()==0){return0;}delete[]buf;fclose(fp);}}if(m_attachment!=NULL){//附件发送完毕,发送分界线sprintf(m_sendbuff,"%s%s%s","--",BOUNDARY_TEXT,"--r");if(senddata()==0){return0;}}//发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。