c服务器读取mail代码(c发送邮件代码)
admin 发布:2022-12-19 19:25 136
今天给各位分享c服务器读取mail代码的知识,其中也会对c发送邮件代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
VC++ 的POP接收邮件源代码是什么样的?
安装JMail45。在安装目录下面会有jmail.dll,考到自己的项目目录下面,
然后在项目中加入:import "jmail.dll",收邮件的简要代码如下:
try
{
jmail::IPOP3Ptr pPOP3("JMail.POP3");
jmail::IMessagesPtr pMessages;
// 超时 30S
pPOP3-Timeout = 30;
// 连接邮件服务器
pPOP3-Connect((LPCTSTR)m_strUserid,
(LPCTSTR)m_strPassword,
(LPCTSTR)m_strMailServer,
110);
pMessages = pPOP3-Messages;
// 已下载的邮件的实际个数(因为第0个ITEM是未用的,所以-1)
long lCount = pMessages-Count - 1;
if(lCount == 0)
AfxMessageBox("信箱为空");
else
{
jmail::IMessagePtr pMessage;
// 遍历每封信
for(long i = 1; i = lCount; i++)
{
pMessage = pMessages-Item[i];
_bstr_t bstrFrom = pMessage-From;
_bstr_t bstrSubject = pMessage-Subject;
_bstr_t bstrBody = pMessage-Body;
COleDateTime oleDate = pMessage-Date;
int nListItem = m_ctlMessagesList.InsertItem(i, (const char*)bstrFrom);
m_ctlMessagesList.SetItem(nListItem, 1, LVIF_TEXT, (const char*)bstrSubject, 0, 0, 0, NULL);
m_ctlMessagesList.SetItem(nListItem, 2, LVIF_TEXT, (const char*)oleDate.Format("%Y-%m-%d"), 0, 0, 0, NULL);
m_strBodyArray.Add((const char*)bstrBody);
pMessage.Release();
}
}
// 断开连接
pPOP3-Disconnect();
}
catch(_com_error e)
{
CString strErr;
strErr.Format("错误信息:%s\r\n错误描述:%s", (LPCTSTR)e.ErrorMessage(), (LPCTSTR)e.Description());
AfxMessageBox(strErr);
}
C语言邮件程序 如何发送附件
C语言发送邮件 完整代码:
#include windows.h
#include stdio.h
#include WinSock.h
#include iostream
using namespace std;
#pragma comment(lib, "ws2_32.lib")
struct Base64Date6
{
unsigned int d4:6;
unsigned int d3:6;
unsigned int d2:6;
unsigned int d1:6;
};
// 协议中加密部分使用的是base64方法
char ConvertToBase64 (char c6);
void EncodeBase64 (char *dbuf, char *buf128, int len);
void SendMail (char *email,char *body);
int OpenSocket (struct sockaddr *addr);
int main()
{
char EmailTo[] = "xushiladeng@qq.com";
char EmailContents[] = "From: \"lucy\"xushiladeng@qq.com\r\n"
"To: \"dasiy\"xushiladeng@qq.com\r\n"
"Subject: Hello\r\n\r\n"
"Hello World, Hello Email!"
// "DATA\r\n" //告诉服务器下面是邮件
//下面是邮件头
"TO: xushiladeng@qq.com\r\n"
"FROM: xushiladeng@qq.com\r\n"
"SUBJECT: SMTP协议测试\r\n"
"Date:2015-04-20\r\n"
"X-Mailer:fice's mailer\r\n"
"MIMI-Version:1.0\r\n"
"Content-Type:multipart/mixed;boundary=\"#BOUNDARY#\"\r\n\r\n"//设置边界值,区分邮件内容的 两个回车换行
"Content-Transfer-Encoding:7bit\r\n\r\n"
"This is a multi-part message in MIME format\r\n\r\n"
//发送邮件内容头部信息
"--#BOUNDARY#\r\n"
"Content-Type: text/plain;charset=gb2312\r\n"
"Content-Transfer-Encoding:printable\r\n\r\n"
//发送邮件的内容部分
"SMTP协议测试:发送附件/n----by fice 2015.04.20\r\n"
//发送附件头部信息
"--#BOUNDARY#\r\n"
"Content-Type:text/plain;name=student.txt\r\n"
"Content-Transfer-Encoding:base64\r\n"
"Content-Disposition:attachment;filename=\"test.txt\"\r\n\r\n";
SendMail(EmailTo, EmailContents);
return 0;
}
char ConvertToBase64(char uc)
{
if(uc 26)
{
return 'A' + uc;
}
if(uc 52)
{
return 'a' + (uc - 26);
}
if(uc 62)
{
return '0' + (uc - 52);
}
if(uc == 62)
{
return '+';
}
return '/';
}
// base64的实现
void EncodeBase64(char *dbuf, char *buf128, int len)
{
struct Base64Date6 *ddd = NULL;
int i = 0;
char buf[256] = {0};
char *tmp = NULL;
char cc = '\0';
memset(buf, 0, 256);
strcpy_s(buf, 256, buf128);
for(i = 1; i = len/3; i++)
{
tmp = buf + (i-1)*3;
cc = tmp[2];
tmp[2] = tmp[0];
tmp[0] = cc;
ddd = (struct Base64Date6 *)tmp;
dbuf[(i-1)*4+0] = ConvertToBase64((unsigned int)ddd-d1);
dbuf[(i-1)*4+1] = ConvertToBase64((unsigned int)ddd-d2);
dbuf[(i-1)*4+2] = ConvertToBase64((unsigned int)ddd-d3);
dbuf[(i-1)*4+3] = ConvertToBase64((unsigned int)ddd-d4);
}
if(len % 3 == 1)
{
tmp = buf + (i-1)*3;
cc = tmp[2];
tmp[2] = tmp[0];
tmp[0] = cc;
ddd = (struct Base64Date6 *)tmp;
dbuf[(i-1)*4+0] = ConvertToBase64((unsigned int)ddd-d1);
dbuf[(i-1)*4+1] = ConvertToBase64((unsigned int)ddd-d2);
dbuf[(i-1)*4+2] = '=';
dbuf[(i-1)*4+3] = '=';
}
if(len%3 == 2)
{
tmp = buf+(i-1)*3;
cc = tmp[2];
tmp[2] = tmp[0];
tmp[0] = cc;
ddd = (struct Base64Date6 *)tmp;
dbuf[(i-1)*4+0] = ConvertToBase64((unsigned int)ddd-d1);
dbuf[(i-1)*4+1] = ConvertToBase64((unsigned int)ddd-d2);
dbuf[(i-1)*4+2] = ConvertToBase64((unsigned int)ddd-d3);
dbuf[(i-1)*4+3] = '=';
}
return;
}
// 发送邮件
void SendMail(char *email, char *body)
{
int sockfd = {0};
char buf[1500] = {0};
char rbuf[1500] = {0};
char login[128] = {0};
char pass[128] = {0};
WSADATA WSAData;
struct sockaddr_in their_addr = {0};
WSAStartup(MAKEWORD(2, 2), WSAData);
memset(their_addr, 0, sizeof(their_addr));
their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(25);
hostent* hptr = gethostbyname("smtp.126.com");
memcpy(their_addr.sin_addr.S_un.S_addr, hptr-h_addr_list[0], hptr-h_length);
printf("IP of smpt.126.com is : %d:%d:%d:%d\n",
their_addr.sin_addr.S_un.S_un_b.s_b1,
their_addr.sin_addr.S_un.S_un_b.s_b2,
their_addr.sin_addr.S_un.S_un_b.s_b3,
their_addr.sin_addr.S_un.S_un_b.s_b4);
// 连接邮件服务器,如果连接后没有响应,则2 秒后重新连接
sockfd = OpenSocket((struct sockaddr *)their_addr);
memset(rbuf, 0, 1500);
while(recv(sockfd, rbuf, 1500, 0) == 0)
{
cout"reconnect..."endl;
Sleep(2);
sockfd = OpenSocket((struct sockaddr *)their_addr);
memset(rbuf, 0, 1500);
}
coutrbufendl;
// EHLO
memset(buf, 0, 1500);
sprintf_s(buf, 1500, "EHLO HYL-PC\r\n");
send(sockfd, buf, strlen(buf), 0);
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"EHLO REceive: "rbufendl;
// AUTH LOGIN
memset(buf, 0, 1500);
sprintf_s(buf, 1500, "AUTH LOGIN\r\n");
send(sockfd, buf, strlen(buf), 0);
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"Auth Login Receive: "rbufendl;
// USER
memset(buf, 0, 1500);
sprintf_s(buf, 1500, "xushiladeng@qq.com");//你的邮箱账号
memset(login, 0, 128);
EncodeBase64(login, buf, strlen(buf));
sprintf_s(buf, 1500, "%s\r\n", login);
send(sockfd, buf, strlen(buf), 0);
cout"Base64 UserName: "bufendl;
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"User Login Receive: "rbufendl;
// PASSWORD
sprintf_s(buf, 1500, "********");//你的邮箱密码
memset(pass, 0, 128);
EncodeBase64(pass, buf, strlen(buf));
sprintf_s(buf, 1500, "%s\r\n", pass);
send(sockfd, buf, strlen(buf), 0);
cout"Base64 Password: "bufendl;
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"Send Password Receive: "rbufendl;
// MAIL FROM
memset(buf, 0, 1500);
sprintf_s(buf, 1500, "MAIL FROM: xushiladeng@qq.com\r\n");
send(sockfd, buf, strlen(buf), 0);
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"set Mail From Receive: "rbufendl;
// RCPT TO 第一个收件人
sprintf_s(buf, 1500, "RCPT TO:%s\r\n", email);
send(sockfd, buf, strlen(buf), 0);
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"Tell Sendto Receive: "rbufendl;
// DATA 准备开始发送邮件内容
sprintf_s(buf, 1500, "DATA\r\n");
send(sockfd, buf, strlen(buf), 0);
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"Send Mail Prepare Receive: "rbufendl;
// 发送邮件内容,\r\n.\r\n内容结束标记
sprintf_s(buf, 1500, "%s\r\n.\r\n", body);
send(sockfd, buf, strlen(buf), 0);//发送邮件,不带附件的内容
//用二进制方式读取附件文件内容并转为base64格式
FILE* pf = fopen("D:\\test.txt","rb");
fseek(pf,0,SEEK_END);
int filelen = ftell(pf);
char* filebuf = (char*) malloc(filelen);
char* filebase64 = (char*) malloc(filelen*2);
memset(filebase64,0,filelen*2);
fseek(pf,0,SEEK_SET);
fread(filebuf,1,filelen,pf);
EncodeBase64(filebase64,filebuf,filelen);
send(sockfd, filebase64, strlen(filebase64), 0);//发送邮件的内容
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"Send Mail Receive: "rbufendl;
// QUIT
sprintf_s(buf, 1500, "QUIT\r\n");
send(sockfd, buf, strlen(buf), 0);
memset(rbuf, 0, 1500);
recv(sockfd, rbuf, 1500, 0);
cout"Quit Receive: "rbufendl;
//清理工作
closesocket(sockfd);
WSACleanup();
return;
}
// 打开TCP Socket连接
int OpenSocket(struct sockaddr *addr)
{
int sockfd = 0;
sockfd=socket(PF_INET, SOCK_STREAM, 0);
if(sockfd 0)
{
cout"Open sockfd(TCP) error!"endl;
exit(-1);
}
if(connect(sockfd, addr, sizeof(struct sockaddr)) 0)
{
cout"Connect sockfd(TCP) error!"endl;
exit(-1);
}
return sockfd;
}
哪位大哥能提供一段VC发送邮件的代码?最好能带有注释
只能说主要代码,程序是一个整体,如果要直接编译通过,那就要整个发了
你自己改下吧
int CMail::sendmail()
{
int crecv;
if(smtplogin()==0)
{
return 0;
}
//发送mail from 返回250
sprintf(m_sendbuff,"%s%s%s","mail from:",m_user,"@163.com\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=MAIL_FROM_ERROR;
return 0;
}
//发送rcpt to 返回250
sprintf(m_sendbuff,"%s%s%s","rcpt to:",m_rcptto,"\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=RCPT_TO_ERROR;
return 0;
}
//发送data\r\n 返回354
sprintf(m_sendbuff,"%s","data\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"354",3)!=NULL)
{
m_error=DATA_ERROR;
return 0;
}
//信头
if(!SetMailHeader(m_sendbuff))
{
m_error=MAILHEADER_ERROR;
return 0;
}
if(senddata()==0)
{
return 0;
}
//发送空行
sprintf(m_sendbuff,"%s","\r\n\r\n");
if(senddata()==0)
{
return 0;
}
//发送邮件body
sprintf(m_sendbuff,"%s%s",m_data,"\r\n");
if(senddata()==0)
{
return 0;
}
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\n");
if(senddata()==0)
{
return 0;
}
sprintf(m_sendbuff,"%s%s%s","Content-Type: application/x-msdownload; name=\"",strrchr(*pp,'\\')+1,"\"\r\n");
if(senddata()==0)
{
return 0;
}
sprintf(m_sendbuff,"%s","Content-Transfer-Encoding: base64\r\n");
if(senddata()==0)
{
return 0;
}
sprintf(m_sendbuff,"%s%s%s","Content-Disposition: attachment; filename=\"",strrchr(*pp,'\\')+1,"\"\r\n\r\n");
if(senddata()==0)
{
return 0;
}
//将文件base64编码后发送
fp=fopen(*pp,"rb");
if(fp==NULL)
{
m_error=OPEN_FILE_ERROR;
return 0;
}
buf=new char[BUFFERSIZE+1];
memset(buf,0,BUFFERSIZE+1);
int readcount=0;
while(!feof(fp))
{
readcount=fread(buf,1,BUFFERSIZE,fp);
if(readcount0)
{
*(buf+readcount)='\0';
sprintf(m_sendbuff,"%s%s",base64(buf,ENCODE,readcount),"\r\n");
if(senddata()==0)
{
return 0;
}
memset(buf,0,BUFFERSIZE+1);
}
}
sprintf(m_sendbuff,"%s","\r\n");
if(senddata()==0)
{
return 0;
}
delete[] buf;
fclose(fp);
}
}
if(m_attachment!=NULL)
{
//附件发送完毕,发送分界线
sprintf(m_sendbuff,"%s%s%s","--",BOUNDARY_TEXT,"--\r\n");
if(senddata()==0)
{
return 0;
}
}
//发送.\r\n 结束 返回250
sprintf(m_sendbuff,"%s",".\r\n");
if(senddata()==0)
{
return 0;
}
crecv=recv(s,m_recvbuff,MAX_LENGTH,0);
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=END_DATA_ERROR;
return 0;
}
else
{
showmessage(NULL,"邮件发送成功","",NULL);
}
//退出
sprintf(m_sendbuff,"%s","quit\r\n");
if(senddata()==0)
{
return 0;
}
if(closesocket(s)!=0)
{
m_error=CLOSE_SOCKET_ERROR;
return 0;
}
if(WSACleanup()!=0)
{
m_error=CLEANUP_WSA_ERROR;
return 0;
}
return 1;
}
int CMail::senddata()
{
int idx = 0;
int csend;
int count=strlen(m_sendbuff);
while(count0)
{
if((csend=send(s,m_sendbuff+idx,count,0))==SOCKET_ERROR)
{
m_error =WSA_SEND_ERROR;
return 0;
}
if(csend==0)
{
break;
}
count-=csend;
idx+=csend;
}
return 1;
}
int CMail::recvdata()
{
int crecv;
crecv=recv(s,m_recvbuff,MAX_LENGTH,0);
if(crecv==SOCKET_ERROR)
{
m_error =WSA_RECV_ERROR;
return 0;
}
else if(crecv==0)
{
m_error=WSA_RECV_ERROR;
return 0;
}
else
{
}
return 1;
}
int CMail::chartoindex(char c)
{
if(c=65c=90)
{
c-=65;
}
else if(c=97c=122)
{
c-=71;
}
else if(c=48c=57)
{
c+=4;
}
else if(c==43)//'+'
{
c=62;
}
else if(c==47)//'/'
{
c=63;
}
else if(c==61)//'='
{
c=0;
}
else
{
m_error=DECODE_ERROR;
return 0;
}
return c;
}
bool CMail::SetMailHeader(char* header)
{
// "Date:","From:","To:",
// "Message-ID:","Subject:","MIME-Version:",
// "Content-Type:","X-Priority:",
// "X-Mailer:","X-CM-TRANSID:","X-CM-SenderInfo:",
// "X-Coremail-Antispam:","\r\n\r\n"
TCHAR szDate[500];
TCHAR sztTime[500];
// Date: SP dd SP mon SP yy SP hh ":" mm ":" ss SP zone CRLF
SYSTEMTIME st={0};
::GetSystemTime(st);
::GetDateFormat(MAKELCID(0x0409,SORT_DEFAULT),0,st,"ddd\',\' dd MMM yyyy",szDate,sizeof(szDate));
::GetTimeFormat(MAKELCID(0x0409,SORT_DEFAULT),TIME_FORCE24HOURFORMAT,st,"HH\':\'mm\':\'ss",sztTime,sizeof(sztTime));
sprintf(header,"Date: %s %s\r\n", szDate, sztTime);
// From: SP sender SP "" sender-email "" CRLF
if(m_mailfrom!=NULL)
{
strcat(header,"From: ");
strcat(header," ");
strcat(header,m_mailfrom);
strcat(header, "\r\n");
}
// X-Mailer: SP xmailer-app CRLF
if(m_xmailer!= NULL)
{
strcat(header,"X-Mailer: ");
strcat(header, m_xmailer);
strcat(header, "\r\n");
}
// X-Priority: SP number CRLF
switch(m_priority)
{
case XPRIORITY_HIGH:
strcat(header,"X-Priority: 2 (High)\r\n");
break;
case XPRIORITY_NORMAL:
strcat(header,"X-Priority: 3 (Normal)\r\n");
break;
case XPRIORITY_LOW:
strcat(header,"X-Priority: 4 (Low)\r\n");
break;
default:
strcat(header,"X-Priority: 3 (Normal)\r\n");
}
// To: SP remote-user-mail CRLF
if(m_rcptto!=NULL)
{
strcat(header,"To: ");
strcat(header, m_rcptto);
strcat(header, "\r\n");
}
// Subject: SP subject-text CRLF
if(m_subject!=NULL)
{
strcat(header, "Subject: ");
strcat(header, m_subject);
strcat(header, "\r\n");
}
// MIME-Version: SP 1.0 CRLF
strcat(header,"MIME-Version: 1.0\r\n");
//attachment
if(m_attachment==NULL)
{ //如果没附件
strcat(header,"Content-type: text/plain; charset=GB2312\r\n");
strcat(header,"Content-Transfer-Encoding: 7bit\r\n");
strcat(header,"\r\n");
}
else
{ //如果有附件,设置分界线,每个子段以--BOUNDARY_TEXT行开始,父段则以--BOUNDARY_TEXT--行结束,不同段之间用空行分隔
strcat(header,"Content-Type: multipart/mixed; boundary=\"");
strcat(header,BOUNDARY_TEXT);
strcat(header,"\"\r\n");
strcat(header,"\r\n");//这个空行不能少
//第一部分为文本内容
strcat(header,"--");strcat(header,BOUNDARY_TEXT);strcat(header,"\r\n");//加上分界线
//以下跟没附件时的一样
strcat(header,"Content-type: text/plain; charset=GB2312\r\n");//注意GB2312 否则会出现中文乱码
strcat(header,"Content-Transfer-Encoding: 7bit\r\n");
}
// done
return true;
}
int CMail::senddata()
{
int idx = 0;
int csend;
int count=strlen(m_sendbuff);
while(count0)
{
if((csend=send(s,m_sendbuff+idx,count,0))==SOCKET_ERROR)
{
m_error =WSA_SEND_ERROR;
return 0;
}
if(csend==0)
{
break;
}
count-=csend;
idx+=csend;
}
return 1;
}
int CMail::recvdata()
{
int crecv;
crecv=recv(s,m_recvbuff,MAX_LENGTH,0);
if(crecv==SOCKET_ERROR)
{
m_error =WSA_RECV_ERROR;
return 0;
}
else if(crecv==0)
{
m_error=WSA_RECV_ERROR;
return 0;
}
else
{
}
return 1;
}
int CMail::smtplogin()
{
//调用成员函数connect
if(connect()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strstr(m_recvbuff,"220")==NULL)//220
{
m_error=UNKNOWEN_ERROR;
return 0;
}
//发送helo 返回250
sprintf(m_sendbuff,"%s","helo 543880135\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"250",3)!=NULL)
{
m_error=HELO_ERROR;
return 0;
}
//发送auth login 返回334
sprintf(m_sendbuff,"%s","auth login\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"334",3)!=NULL)
{
m_error=AUTH_LOGIN_ERROR;
return 0;
}
//发送经过base64编码后的用户名,返回334
sprintf(m_sendbuff,"%s%s",base64(m_user,ENCODE,strlen(m_user)),"\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"334",3)!=NULL)
{
m_error=USER_ERROR;
return 0;
}
//发送经过base64编码后的密码 返回235
sprintf(m_sendbuff,"%s%s",base64(m_pass,ENCODE,strlen(m_pass)),"\r\n");
if(senddata()==0)
{
return 0;
}
if(recvdata()==0)
{
return 0;
}
if(strncmp(m_recvbuff,"235",3)!=NULL)
{
m_error=PASS_ERROR;
return 0;
}
return 1;
}
int CMail::connect()
{
WSADATA wsadata;
struct sockaddr_in sock_addr;
HOSTENT *phostent;
struct in_addr inaddr;
if(WSAStartup(MAKEWORD(1,1),wsadata)0)
{
m_error=WSA_INIT_ERROR;
return 0;
}
/*---------------根据域名获取网络地址,存放在struct in_addr中----------------*/
phostent=gethostbyname(m_server);//pop.163.com
if(phostent!=NULL)
{
// lpAddr=phostent-h_addr_list[0];
memmove(inaddr,phostent-h_addr_list[0],4);//220.181.12.101
}
else
{
m_error=CONNECTSERVER_ERROR;
return 0;
}
/*---------------根据域名获取网络地址,存放在struct in_addr中----------------*/
s=socket(AF_INET, SOCK_STREAM,IPPROTO_TCP);//SOCK_STREAM SOCK_DGRAM
sock_addr.sin_family=AF_INET;
sock_addr.sin_port=htons(m_port);
sock_addr.sin_addr=inaddr;//直接结构体赋值给结构体,或者写成:sock_addr.sin_addr.s_addr=inaddr.S_un.S_addr;
if(::connect(s,(struct sockaddr *)sock_addr,sizeof(sock_addr)))
{
m_error=CONNECT_ERROR;
return 0;
}
return 1;
}
c服务器读取mail代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c发送邮件代码、c服务器读取mail代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 04-29班级管理系统jsp代码的简单介绍[20240429更新]
- 04-29代码高亮(代码高亮是什么意思)[20240429更新]
- 04-29文字特效js代码(文字效果代码)[20240429更新]
- 04-29phpqq代码(免费代码)[20240429更新]
- 04-29css广告代码生成器(广告设计生成器)[20240429更新]
- 04-29简单的菜单点击改变图片代码(点击编辑图片改变)[20240429更新]
- 04-29discuz代码注入(discuz代码使用教程)[20240429更新]
- 04-29连连看c代码(连连看的代码)[20240429更新]
- 04-29网页图片闪烁js代码(css实现图片闪烁动画)[20240429更新]
- 04-29数据结构代码(数据结构代码题怎么写)[20240429更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接