Skocz do zawartości

C++ & Mail


Trust

Recommended Posts

jusz nie uzywam windowsa tylko linuksa

I bardzo dobrze, ja też się pomału przenoszę, olać Billa :D
Winsock jest właśnie wzorowany na unixowych socketach i kod jest taki sam, wywal tylko WSAStartup i WSACleanup, reszta kodu jest dokładnie taka sama. Zamiast windows.h trzeba dodać

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
Link do komentarza
Udostępnij na innych stronach

czyli Spoon ja mam taki kod :

#include <sys/types.h> 
#include <sys/socket.h> 
#include <netinet/in.h> 
#include <arpa/inet.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)
{
//********************************************************
//**zamień te zmienne
char serwer[]="poczta.onet.pl";
char nadawca[]="ja@op.pl";
char odbiorca[]="ktos_tam@cos_tam.pl";
char odkogo[]="ruf3k";
char temat[]="próba";
char wiadomosc[]="czesc\n To jest próbny email\r\n";
//********************************************************

wersja = MAKEWORD( 2, 0 );
blad = wersja, &wsaData ;
if ( blad != 0 )
{
        printf("blad!");
        return 0;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||HIBYTE( wsaData.wVersion ) != 0 )
{
        printf("blad, zla wersja winsock");

        return 0;
}

struct hostent *host;
struct sockaddr_in sin;
memset( &sin, 0, sizeof(sin));

host=gethostbyname(serwer);
if(host==NULL) 
        {
          printf("gethostbyname   błąd-nie moge znalezc takiego serwera");
          
          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);       //port smtp-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");

return 0;
}

printf("czekam na odpowiedz z serwera\n");
blad=recv(soc_klient,bufor,sizeof(bufor),0);

char nazwa[256];
gethostname(nazwa,255);

wsprintf(tekst,"HELO %s\r\n",nazwa);

blad=send(soc_klient,tekst,strlen(tekst),0);  
blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*");

wsprintf(tekst,"MAIL FROM: <%s>\r\n",nadawca);

blad=send(soc_klient,tekst,strlen(tekst),0);
blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*");

wsprintf(tekst,"RCPT TO: <%s>\r\n",odbiorca);
blad=send(soc_klient,tekst,strlen(tekst),0);
blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*");

sprintf(tekst, "DATA\r\n");
blad=send(soc_klient,tekst,strlen(tekst),0);
blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*");

//naglowki
wsprintf(tekst, "From: %s <%s>\r\n",odkogo,nadawca);
blad=send(soc_klient,tekst,strlen(tekst),0);
wsprintf(tekst, "To: <%s>\r\n",odbiorca);
blad=send(soc_klient,tekst,strlen(tekst),0);
wsprintf(tekst,"Subject: %s\r\n",temat);
blad=send(soc_klient,tekst,strlen(tekst),0);
//wiadomosc
strcat(wiadomosc,".\r\n");
wsprintf(tekst,"%s",wiadomosc);
blad=send(soc_klient,tekst,strlen(tekst),0);
//koniec
sprintf(tekst, "\r\n.\r\n");
blad=send(soc_klient,tekst,strlen(tekst),0);
blad=recv(soc_klient,bufor,sizeof(bufor),0);printf("*");

closesocket( soc_klient);

printf("\n OK!");
return 0;
}

i teraz jakbys mogl to sprawdz co jest zle i zmien mi tak (jesli chcesz) abyy dzialalo pod linuxem pliss :(

Link do komentarza
Udostępnij na innych stronach

No i mam powod "zgubienia" mojego hasla, jakis szczur kanalowy przejal mi haslo (wiecej nie bede ustawial hasla na "qwerty" )-: ) i teraz sie podszywa (na dodatek jeszcze jakies bajki o simpsonach glosi)!!!! Prosze o jego zablokowanie, albo przywrocenie mi mojego prawowitego konta.

caluski clever

Link do komentarza
Udostępnij na innych stronach

Ludzie, co wy robicie przeciez to jest jakas zenada. to ja bylem pierwszy na forum i zapewniam wszystkich, ze nie zgubilem hasla, a tego zamaskowanego debila, ktoremu sie tak nudzi, ze za mna gania - prosze o zajecie sie nim przez obsluge ;)

Sorry bart - masz za malo umiejetnosci, to ganiasz za innymi. Odwal sie - tyle ci powiem. jestes buraq i albo dasz sobie ze mna spokoj, albo umieszcze twe imie w mojej ksiedze szatanskiej :>

Link do komentarza
Udostępnij na innych stronach

Twardy ma racje. Ta osoba juz dostała bana i jest nia clever^lfe. Wiadomości tego uzytkownika, ktore zawieraly linki do wirow lub probowaly wprowadzic uzytkownikow w blad zostaly usuniete. Prawdziwy clever ma dalej swojego nicka i nigdy go nie stracil. Nastepnym razem osoba taka zostanie zgloszona gdzie trzeba.

Link do komentarza
Udostępnij na innych stronach

No antyviry nie mogą znaleźć czegoś czego nie znają, każdy może sobie napisać programik do kasowania plików z dysku i żaden antyvir go nie wykryje :) Ja to odpaliłem pod emulatorkiem i nadpisywał tylko początek pliku, więc szatkus może nie wszystko stracone.

Dobrze, że prawie wszystkie porjekty mam w sieci (i zazwyczaj opensource)

Ale z tym wężem na sourceforge to przesadziłeś ;)

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...