发送邮件的c语言源代码

上传人:ji****n 文档编号:45067371 上传时间:2018-06-15 格式:DOC 页数:36 大小:89KB
返回 下载 相关 举报
发送邮件的c语言源代码_第1页
第1页 / 共36页
发送邮件的c语言源代码_第2页
第2页 / 共36页
发送邮件的c语言源代码_第3页
第3页 / 共36页
发送邮件的c语言源代码_第4页
第4页 / 共36页
发送邮件的c语言源代码_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《发送邮件的c语言源代码》由会员分享,可在线阅读,更多相关《发送邮件的c语言源代码(36页珍藏版)》请在金锄头文库上搜索。

1、发送邮件的源代码,模拟 smtp 的协议写的程序代码:主要有 2 个文件,一个头文件,一个实现文件头文件如下;文件名:fsSendMail.h文件内容:/- -#ifndef fsSendMailH #define fsSendMailH #include #include #include #include #include #include #include #include #include #include #include using namespace std; /- - void MakeVector( char *s , vector int ClientSendMail( c

2、har *proxyServerName, /使用的代理服务器地址UINT proxyServerPort, /代理服务器的端口号const char *proxyUser, /连接代理服务器的用户名const char * proxyPass, /连接代理服务器的密码const char * serverHostName, /邮件服务器地址UINT serverPort, /邮件服务器端口const char * username, /邮件用户名const char * pass, /邮件用户对应的密码 const char * senderAddr, /发送邮件的地址/const char

3、 * recptAddress,const char * from, /for most mail server, it only support youself address /发送邮件的地址const char * to, /接收邮件的地址,每个邮 件地址之间用逗号;进行分开const char * cc, /抄送邮件的地址const char * bcc, /密送邮件的地址const char * subject, /邮件的标题const char * bodytext, /邮件的正文const char * bodyhtml, /邮件正文的 html 格式const char *at

4、tachments, /附件内容,各个附件之间 采用逗号;进行分开char *sMsg); /发送邮件的错误应答 #endif实现文件如下:文件名:fsSendMail.cpp文件内容:/- -#pragma hdrstop#include “fsSendMail.h“/- -#pragma package(smart_init)#define BUFFER_BLOCK_SIZE 4096 #define DEAL_RETURN_CODE(retCode) if(retCode)!=0) return retCode; #define DEAL_SOCK_ERROR(retCode,sock)

5、 if(retCode)=SOCKET_ERROR | (retCode)=0) cout void Cc(const vector void Bcc(const vectorvoid DataHead(const string void DataBody( BOOL bHtmlBody,BOOL bAttachment,const string void DataBody_PureText(const string void DataBody_TextAndAttachments(const string void DataBody_HtmlOnly(const string void Da

6、taBody_HtmlAndAttachments(const string/Agent Application Functions int SendMail(const string int Socks5StartIPv4(const string /* int _tmain(int argc, TCHAR* argv, TCHAR* envp) ClientCommandResolve();return 0; */int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmd

7、Show) / TODO: Place code here./ShowWindow(NULL,SW_HIDE);ClientCommandResolve();return 0; void InputLine(string str=“;while(ch = getchar()!= n)str+=ch; void MakeVector( char *s , vector char *p,*p1;char *sTmp;if( s = NULL) return;if( *s = 0) return;p = (char *)s;while(1)p1 = strchr( p ,;);if( p1 = NU

8、LL)v.push_back( p);break;elsesTmp = (char *)malloc( p1- p + 2 );memset( sTmp, 0 , p1- p + 2 );memcpy( sTmp , p , p1-p);v.push_back( sTmp);free(sTmp );p=p1;p+; /* 参数设置:proxyServerName:代理服务器 IP 地址proxyServerPort:代理服务器端口号proxyUser :连接代理服务器的用户名proxyPass:连接代理服务器的密码serverHostName:邮件服务器地址serverPort:邮件服务器端口

9、username:连接邮件服务器的用户名pass:连接邮件服务器的密码senderAddr:发送邮件的邮件地址recptAddress:from: 发送邮件的发送者邮件地址to:cc:bcc:subject:bodytext:bodyhtml:attachments: */ int ClientSendMail( char *proxyServerName,UINT proxyServerPort,const char *proxyUser,const char * proxyPass,const char * serverHostName,UINT serverPort,const char

10、 * username,const char * pass,const char * senderAddr,/const char * recptAddress,const char * from, /for most mail server, it only support youself addressconst char * to,const char * cc,const char * bcc,const char * subject,const char * bodytext,const char * bodyhtml,const char *attachments,char *sM

11、sg) int nRc;int iResult;string s_proxyServerName,s_proxyUser,s_proxyPass,s_serverHostName;string s_username,s_pass,s_senderAddr,s_subject,s_bodytext,s_bodyhtml;s_proxyServerName = proxyServerName;s_proxyUser = proxyUser;s_proxyPass = proxyPass;s_serverHostName =serverHostName;s_username = username;s

12、_pass = pass;s_senderAddr =senderAddr;s_subject = subject;s_bodytext = bodytext;s_bodyhtml = bodyhtml;set stringSet;UINT i;vector recptAddrs;vector fromV,toV,ccV,bccV,attachmentsV;/MakeVector( (char *)recptAddress , recptAddrs);MakeVector( (char *)from , fromV );MakeVector( (char *)to , toV );MakeVe

13、ctor( (char *)cc , ccV );MakeVector( (char *)bcc , bccV );MakeVector( (char *)attachments , attachmentsV);*sMsg = 0;memset( sMsg , 0 , sizeof( sMsg ) );WSADATA wsaData;nRc = -1;if(WSAStartup(MAKEWORD( 2, 2 ), /return -1;goto L_Err;for(i=0; i:iterator iteSet=stringSet.begin();iteSet!=stringSet.end();

14、 iteSet+)recptAddrs.push_back(*iteSet);iResult=SendMail(s_proxyServerName,proxyServerPort,s_proxyUser,s_prox yPass,s_serverHostName,serverPort,s_username,s_pass,s_senderAddr,recptAddrs,fromV,toV,ccV, bccV,s_subject,s_bodytext,s_bodyhtml,attachmentsV);if(iResult=-1)/cout recptAddrs;string username;string pass;string strtemp;vector from;vector to;vector cc;vector bcc;str

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号