554 SMTP-Synchronisation Fehler mit exim4 und mein code

Habe ich kopfüber in diese lehnen Fehler von exim4:

2010-02-15 01:46:05 SMTP-Protokoll Synchronisation Fehler (Eingang geschickt, ohne zu warten, für den Gruß): abgelehnt-Verbindung von H=ender [192.168.20.49] input="HELO 192.168.20.49\r\n"

Habe ich geändert mein exim4-config nicht durchsetzen sync, etwa so:

 smtp_enforce_sync='false'
 acl_smtp_connect = nosync nosync:
         control = no_enforce_sync
         accept

Aber das scheint keine Rolle zu spielen. Was macht weniger Sinn für mich ist, warum ich bin immer die 554 in den ersten Platz. Ich sende eine HELO, ich warte auf eine Antwort, und irgendwie in der Mitte, dass ich zu verwalten, zu generieren "554 Fehler"

Was mache ich falsch im folgenden code das macht dieses scheitern 99% der Zeit (ja, es hat zweimal). Ja, der socket blockiert, ich Hänge in der "recv" - Vorgang für ~5 Sekunden warten für die Ablehnung. Auf die 2 mal, wenn es geklappt hat, verharrt Sie nicht bei allen.

Ich habe versucht, das senden EHLO statt HELO, kein besseres Glück. Ich habe sogar Trauer bekommen Sie eine telnet-Sitzung eine Verbindung herstellen und sagen, HELO. Allerdings kann ich python verwenden smtp (von einer anderen Maschine) zum senden von E-Mails nur in Ordnung, gegen dieses gleichen server!

        hSocket = _connectServerSocket(server, port);    
    if (hSocket != INVALID_SOCKET) {        
        BYTE        sReceiveBuffer[4096];
        int            iLength = 0;
        int            iEnd = 0;
        char        buf[4096];

        strcpy(buf, "HELO ");
        strcat(buf, "192.168.20.49");
        strcat(buf, "\r\n");
        printf("%s", buf);
        if (send(hSocket, (LPSTR)buf, strlen(buf), NO_FLAGS) == SOCKET_ERROR) {
            printf("Socket send error: %d\r\n", WSAGetLastError());    
            return (false);
        }
        iLength = recv(hSocket, 
                       (LPSTR)sReceiveBuffer+iEnd,sizeof(sReceiveBuffer)-iEnd, 
                        NO_FLAGS);
        iEnd += iLength;
        sReceiveBuffer[iEnd] = '\0';
InformationsquelleAutor boatcoder | 2010-02-15
Schreibe einen Kommentar