Emails senden



  • Hi,
    ich habe vor ein Programm zu erstellen das eine Email an hansmeier48@gmx.net (Testaccount 🙂 ) sendet. Die Email kommt aber nicht an. Kann aber auch meinen Fehler nicht erkennen. Vielleicht könnt ihr mir ja helfen.

    #include <windows.h>
    #include <stdio.h>
    
    char Data[MAX_PATH];
    
    int main()
    {
        WSADATA wsadata;
        SOCKET sock;
    
        if(WSAStartup(MAKEWORD(2, 2), &wsadata) != 0)
        {
        MessageBox(NULL, "Fehler bei der Initialization !", "Fehler", MB_OK | MB_ICONERROR);
        }
    
        sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    
        if(sock == INVALID_SOCKET)
        {
        MessageBox(NULL, "Fehler beim Erstellen des Socket's !", "Fehler", MB_OK | MB_ICONERROR);
        }
    
        sockaddr_in client;
    
        client.sin_port=htons(25);
        client.sin_addr.s_addr=inet_addr("213.165.64.21"); 
        client.sin_family=AF_INET;
    
        if(connect(sock,(sockaddr*)&client, sizeof(client)) == SOCKET_ERROR)
        {
        MessageBox(NULL, "Connection to ip failed !", 0, MB_OK | MB_ICONWARNING);
        WSACleanup();
        }
    
        recv(sock, Data, sizeof(Data), 0);
    	send(sock,"helo ",strlen("helo "),0);
        printf(Data);
        printf("\n");
        send(sock, "EHLO mail.gmx.net", sizeof("EHLO mail.gmx.net"), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "AUTH LOGIN", sizeof("AUTH LOGIN"), 0);
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "hansmeier48@gmx.net", sizeof("hansmeier48@gmx.net"), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
    	send(sock, "Passwort", sizeof("Passwort"), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "MAIL FROM: hansmeier48@gmx.net", sizeof("MAIL FROM: hansmeier48@gmx.net"), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "RCPT TO: hansmeier48@gmx.net", sizeof("RCPT TO: hansmeier48@gmx.net"), 0);
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "DATA", sizeof("DATA"), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "From: hansmeier48@gmx.net", sizeof("hansmeier48@gmx.net"), 0);
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "To: hansmeier48@gmx.net", sizeof("To: hansmeier48@gmx.net"), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "Subject: Hallo", sizeof("Subject: Hallo"), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "", sizeof(""), 0);
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "Hallo Onur.", sizeof("Hallo Onur."), 0); 
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, ".", sizeof("."), 0);
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        send(sock, "QUIT", sizeof("QUIT"), 0);
        recv(sock, Data, sizeof(Data), 0);
        printf(Data);
        printf("\n");
        system("pause");
    }
    


  • Es fehlt ein CR und die wertest die Antworten nicht aus...



  • Muss es außerdem nicht strlen anstatt sizeof heißen?



  • und wie kommt man darauf dafür MAX_PATH zu benutzen?


Anmelden zum Antworten