Fehler bei SMTP wird nicht erkannt!



  • Hi Forum!
    Ich hab hier eine Schleife in der Fehler nicht erkannt werden, und ich weis das sie da sind, z.B. wenn das Password nicht gültig ist für die Anmeldung beim SMTP Server, es ist die selbe die hier im Forum über WinsSock und SMTP zu finden ist, jetzt hab ich ein kleines Problem das der auftretende Fehler nicht erkannt wird.
    Der Fehler wird nur bei normaler ausführung nicht erkannt, bei Debugging aber schon wenn ich schritt für schritt ausführe dann schon, und ich habe keine Erklärung dafür, und hoffe natürlich das jemand aus eigener Erfahrung einen Hinweis geben kann.
    Hier ist der Codeabschnitt:

    connect(sock, (struct sockaddr *) &server, sizeof(struct sockaddr_in));
    
    	int iErr = 0; // für Fehlernummer
    	long rc;
    	for(i = 0; i <= 9; i++)
    	{
    		strcpy(command, acSMTP[i]);
    		//printf("%s\n", command);
    		rc = send(sock, command, lstrlen(command), 0); // command senden
    		if(rc == SOCKET_ERROR)//versuche einen Fehler abzufangen, aber es wird nichts zurück gegeben, 
                           //auch dann wenn kein Passwort oder Benutzername nicht angegeben wurden
    			return WSAGetLastError();
    
    		empfangen = recv(sock, acBuff, sizeof(acBuff), 0);		
    		//printf("%s\n\n", acBuff);
    		acBuff[empfangen] = '\0'; // String terminieren 
    	}
    
    	if(rc == SOCKET_ERROR) // hier versuche ich wieder einen Fehler abzufangen
    		return WSAGetLastError();
    

    Wenn der Fehler überhaupt nicht wäre, und nicht nur bei debugging hätte ich vieleicht eine chance, aber so...Die Antworten von den SMTP Server sind eindeutig mit Fehlermeldungen, es werden natürlich auch keine Emails rausgeschickt!

    MFG
    Mirsad



  • hi forum,
    hat keiner einer idee oder vorschlag wie mann sonst die Fehler bei versand abfangen könnte, mir fällt leider nur das WSAGetLastError() ein...und das will eben nicht 😕
    lg
    mirsad


Anmelden zum Antworten