91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2024-02-01
  • 語言: 其他
  • 標簽: pop3??

資源簡介

一個簡單的C實現pop3接收郵件,可刪除郵件

資源截圖

代碼片段和文件信息




#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#define?MAXDATA?200
#define?POP3_PORT?110

#define?POP3_USER?1
#define?POP3_PASS?2
#define?POP3_STAT?3
#define?POP3_LIST?4
#define?POP3_RETR?5
#define?POP3_DELE?6
#define?POP3_QUIT?7

#define?POP3_USER_PASS_ISEMPTY?10
#define?POP3_USER_TO_LONG?11
#define?POP3_pass_TO_LONG?12
#define?POP3_USER_ERR?13
#define?POP3_PASS_ERR?14?
#define?POP3_NO_ONLINE 20

typedef?struct
{
int?online;
int?email;
int?total;

}pop3*p_pop3;

p_pop3?t_pop3;

int?connecting(char?*serverint?port)
{
int?sockfdnet_type;
int?len=-1;
char?buf[MAXDATA];
char?*serverip;
struct?hostent?*phost?=?(struct?hostent?*)malloc(sizeof(struct?hostent));
char?**pptr;
bzero(bufMAXDATA);

struct?sockaddr_in?server_addr;
bzero(&server_addrsizeof(struct?sockaddr_in));

server_addr.sin_port=htons(POP3_PORT);
if((phost?=?gethostbyname(server))==NULL)
{
printf(“gethostbyname?failed\n“);
return?0;
}
net_type=(int)phost->h_addrtype;
serverip=(char?*)inet_ntop(phost->h_addrtypephost->h_addrbufsizeof(buf));


if((sockfd=socket(net_typeSOCK_STREAM0))==-1)
{
perror(“socket\n“);
exit(1);
}

server_addr.sin_family=net_type;
server_addr.sin_addr.s_addr=inet_addr(serverip);

printf(“address:%s\n“serverip);//_list[0]
//? pptr=phost->h_addr_list;
//? for(;*pptr!=NULL;pptr++)
//? {
//? printf(“address:%s\n“inet_ntop(phost->h_addrtype*pptrbufsizeof(buf)));
//?}
//? if(phost->h_addrtype==AF_INET)
//? printf(“me:AF_NET\n“);
//? else
//? printf(“me:AF_INET6\n“);

if(connect(sockfd(struct?sockaddr?*)&server_addrsizeof(struct?sockaddr))==-1)
{
perror(“connecting......\n“);
}
if((len=read(sockfdbufMAXDATA))<0)
{
perror(“me:connecting......\n“);
}
?// buf[len]=‘\0‘;
// printf(“me:buf?%s\n“);

return?sockfd;

}
int?isok(int?sockfd)
{
int?len=-1;
char?rec_buf[MAXDATA];
bzero(rec_bufMAXDATA);
if((len=recv(sockfdrec_bufMAXDATA0))<=0)
return?0;
else
{
rec_buf[len]=‘\0‘;
printf(“me:%s\n“rec_buf);
if(strncmp(rec_buf“+OK“3)==0)
return?1;
else?return?0;
}


}
int?pop3_login_send(int?sockfdchar?*bufint?lenint?flg)
{
char?cmd[50];
bzero(cmd50);
switch?(flg)
{
case?POP3_USER:
len=snprintf(cmdlen+8“USER?%s\r\n“buf);
break;
case?POP3_PASS:
len=snprintf(cmdlen+8“PASS?%s\r\n“buf);
break;
}
if(send(sockfdcmdlen0)!=len)
{
printf(“me:err?cmd?send\n“);
return?0;
}
else?if(isok(sockfd))
return?1;

}
int?pop3_login(int?sockfdchar?*userchar?*pass)
{
int?user_len=strlen(user);
int?pass_len=strlen(pass);
if(user_len<=0||pass_len<=0)
return?POP3_USER_PASS_ISEMPTY;
if(user_len>40)
return?POP3_USER_TO_LONG;
if(pass_len>40)
return?POP3_pass_TO_LONG;

if(pop3_login_send(sockfduseruser_lenPOP3_USER)==1)
{
if(pop3_login_

評論

共有 條評論