Ładny brzuch
Jak napisa program ktry czy si ze serwerem, na przykad z kontem mail. Chc napisa jaki gadacz typu GG. Najlepiej prosz o podpowied aby bya w WinAPI Please:rispekt:
zeby lczy si z kontem mail , to proste . Looknij se na to (wysylanie mail) :
#include <winsock2.h> #include <iostream.h> #include <windows.h> #include <stdio.h> WSADATA wsaData; WORD wersja; int blad; int rozmiar; char bufor[4096]; char tekst[4096]; SOCKET soc_klient; int main(int argc,char** argv) { //******************************************************** char serwer[]="twoj_serv.pl"; char nadawca[]="twoj_mail@cos.pl"; char odbiorca[]="kogos@mail.pl"; char odkogo[]="twoje imie"; char temat[]="temat_maila"; char wiadomosc[]="to jest tekst maila"; //******************************************************** wersja = MAKEWORD( 2, 0 ); blad = WSAStartup(wersja, &wsaData ); if ( blad != 0 ) { printf("WSAStartup - bad!"); return 0; } if ( LOBYTE( wsaData.wVersion ) != 2 ||HIBYTE( wsaData.wVersion ) != 0 ) { printf("bad, zla wersja winsock"); WSACleanup(); return 0; } struct hostent *host; struct sockaddr_in sin; memset( &sin, 0, sizeof(sin)); host=gethostbyname(serwer); if(host==NULL) { printf("gethostbyname bd-nie moge znalezc takiego serwera"); WSACleanup(); return 0; } sin.sin_family = AF_INET; sin.sin_addr.s_addr = ((struct in_addr *)(host->h_addr))->s_addr; sin.sin_port = htons(25); soc_klient = socket( AF_INET, SOCK_STREAM, 0 ); if ( connect(soc_klient,(struct sockaddr *) &sin, sizeof(sin)) == SOCKET_ERROR ) { printf("polaczenie nie powiodlo sie"); WSACleanup(); return 0; } printf("czekam na odpowiedz z serweran"); blad=recv(soc_klient,bufor,sizeof(bufor),0); char nazwa[256]; gethostname(nazwa,255); wsprintf(tekst,"HELO %srn",nazwa); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); wsprintf(tekst,"MAIL FROM: <%s>rn",nadawca); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); wsprintf(tekst,"RCPT TO: <%s>rn",odbiorca); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); sprintf(tekst, "DATArn"); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); //naglowki od kogo , do kogo ,temat wsprintf(tekst, "From: %s <%s>rn",odkogo,nadawca); blad=send(soc_klient,tekst,strlen(tekst),0); wsprintf(tekst, "To: <%s>rn",odbiorca); blad=send(soc_klient,tekst,strlen(tekst),0); wsprintf(tekst,"Subject: %srn",temat); blad=send(soc_klient,tekst,strlen(tekst),0); //tresc maila strcat(wiadomosc,".rn"); wsprintf(tekst,"%s",wiadomosc); blad=send(soc_klient,tekst,strlen(tekst),0); //koniec sprintf(tekst, "rn.rn"); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); closesocket( soc_klient); WSACleanup(); printf("n OK!"); cin.get(); return 0; }
tylko pamitaj eby do projektu doda biblioteke "ws2_32.lib" ,a jeli piszesz w dev-c++ to "ws2_32.a"
pozdro.
www.rufek-forum.prv.pl - Forum serwisu Rufek-Zone !! Zapraszam !!
www.rufek-zone.prv.pl - nowe oblicze serwisu ! Linux , Download & Faq's & Kursy programowania!!!
to tylko przykad , poczytaj o winsock.
www.rufek-forum.prv.pl - Forum serwisu Rufek-Zone !! Zapraszam !!
www.rufek-zone.prv.pl - nowe oblicze serwisu ! Linux , Download & Faq's & Kursy programowania!!!
Ludzie Help Me:cegly:
heh Dziki:lol:
blueboardent.hk.pl
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
zeby lczy si z kontem mail , to proste . Looknij se na to (wysylanie mail) :
#include <winsock2.h> #include <iostream.h> #include <windows.h> #include <stdio.h> WSADATA wsaData; WORD wersja; int blad; int rozmiar; char bufor[4096]; char tekst[4096]; SOCKET soc_klient; int main(int argc,char** argv) { //******************************************************** char serwer[]="twoj_serv.pl"; char nadawca[]="twoj_mail@cos.pl"; char odbiorca[]="kogos@mail.pl"; char odkogo[]="twoje imie"; char temat[]="temat_maila"; char wiadomosc[]="to jest tekst maila"; //******************************************************** wersja = MAKEWORD( 2, 0 ); blad = WSAStartup(wersja, &wsaData ); if ( blad != 0 ) { printf("WSAStartup - bad!"); return 0; } if ( LOBYTE( wsaData.wVersion ) != 2 ||HIBYTE( wsaData.wVersion ) != 0 ) { printf("bad, zla wersja winsock"); WSACleanup(); return 0; } struct hostent *host; struct sockaddr_in sin; memset( &sin, 0, sizeof(sin)); host=gethostbyname(serwer); if(host==NULL) { printf("gethostbyname bd-nie moge znalezc takiego serwera"); WSACleanup(); return 0; } sin.sin_family = AF_INET; sin.sin_addr.s_addr = ((struct in_addr *)(host->h_addr))->s_addr; sin.sin_port = htons(25); soc_klient = socket( AF_INET, SOCK_STREAM, 0 ); if ( connect(soc_klient,(struct sockaddr *) &sin, sizeof(sin)) == SOCKET_ERROR ) { printf("polaczenie nie powiodlo sie"); WSACleanup(); return 0; } printf("czekam na odpowiedz z serweran"); blad=recv(soc_klient,bufor,sizeof(bufor),0); char nazwa[256]; gethostname(nazwa,255); wsprintf(tekst,"HELO %srn",nazwa); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); wsprintf(tekst,"MAIL FROM: <%s>rn",nadawca); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); wsprintf(tekst,"RCPT TO: <%s>rn",odbiorca); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); sprintf(tekst, "DATArn"); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); //naglowki od kogo , do kogo ,temat wsprintf(tekst, "From: %s <%s>rn",odkogo,nadawca); blad=send(soc_klient,tekst,strlen(tekst),0); wsprintf(tekst, "To: <%s>rn",odbiorca); blad=send(soc_klient,tekst,strlen(tekst),0); wsprintf(tekst,"Subject: %srn",temat); blad=send(soc_klient,tekst,strlen(tekst),0); //tresc maila strcat(wiadomosc,".rn"); wsprintf(tekst,"%s",wiadomosc); blad=send(soc_klient,tekst,strlen(tekst),0); //koniec sprintf(tekst, "rn.rn"); blad=send(soc_klient,tekst,strlen(tekst),0); blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*"); closesocket( soc_klient); WSACleanup(); printf("n OK!"); cin.get(); return 0; }
tylko pamitaj eby do projektu doda biblioteke "ws2_32.lib" ,a jeli piszesz w dev-c++ to "ws2_32.a"
pozdro.
www.rufek-forum.prv.pl - Forum serwisu Rufek-Zone !! Zapraszam !!
www.rufek-zone.prv.pl - nowe oblicze serwisu ! Linux , Download & Faq's & Kursy programowania!!!
to tylko przykad , poczytaj o winsock.
www.rufek-forum.prv.pl - Forum serwisu Rufek-Zone !! Zapraszam !!
www.rufek-zone.prv.pl - nowe oblicze serwisu ! Linux , Download & Faq's & Kursy programowania!!!
Ludzie Help Me:cegly:
heh Dziki:lol:
blueboardent.hk.pl