当前位置:首页 > 代码 > 正文

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站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/20304.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载