Ich weiss nicht was ich falsch mache...
hat mir jemand ein tipp??
main.c
Code:
#include <stdio.h>
#include <windows.h>
#include <winsock2.h>
#include "mail.h"
using namespace std;
int main(int argc, char *argv[])
{
int port = 1836;
SOCKET s;
long rc;
printf("-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-\n");
printf(" MAIL \n");
printf("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n");
rc = startup();
if(rc != 0)
{
printf("Verbindung Fehlgeschlagen: startup()\n");
system("pause");
return -1;
}
s = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(s==SOCKET_ERROR)
{
printf("Verbindung Fehlgeschlagen: socket()\n");
system("pause");
return -1;
}
SOCKADDR_IN addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(110);
addr.sin_addr.s_addr = inet_addr("195.186.81.55");
printf("connect...\n");
rc = connect(s,(SOCKADDR*)&addr,sizeof(addr));
if(rc == -1)
{
printf("Verbindung Fehlgeschlagen: connect()\n");
system("pause");
return -1;
}
char aaa[100];
recv(s,aaa,strlen(aaa),0);
doo(aaa);
while(1)
{
char buffer[100];
char auth[100];
printf("AUTH: ");
gets(auth);
strcat(auth,"\r\n");
send(s,auth,strlen(auth),0);
rev(s,buffer);
doo(buffer);
memset(buffer,'0',strlen(buffer));
}
system("pause");
return 0;
}
mail.h
Code:
int startup()
{
WSADATA wsa;
return WSAStartup(MAKEWORD(2,0),&wsa);
}
int sen(SOCKET s,char *buffer)
{
int a;
a = send(s,buffer,strlen(buffer),0);
if(a<0)
{
return -1;
}
return 0;
}
int rev(SOCKET s,char *buffer)
{
char b[0];
char a[strlen(buffer)];
int i;
for(i=0;i<strlen(buffer);i++)
{
recv(s,buffer,strlen(b),0);
a[i] = buffer[0];
}
buffer = a;
return 0;
}
void doo(char *buffer)
{
int i=0;
for(i=0;i<strlen(buffer);i++)
{
printf( "%c" , buffer[i] );
}
}
Als erstes sollte eigentlich: +OK Dovecot Ready. stehen.
usw..