tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Bratkartoffel
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1257
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von VScan
    VScan VScan ist offline Mitglied Gold
    Registriert seit
    Dec 2008
    Ort
    Munich
    Beiträge
    131
    Hallo,

    bei der Authentifizierung über Smtp bekomme ich immer beim Passwort die Fehlernummer 535 Authentication failure.

    Hab auch schon in den RFC's zu smtp, asmtp, esmtp, usw. nachgelesen, aber ich komm auf keinen grünen...

    Bei gmail oder 1und1 funktioniert der Code einwandfrei, nur bei revido.de nicht, da stoppt er beim Passwort.

    Kann man die Authentifizierung auch anders durchführen, denn bei outlook hat das revido-postfach auch keine macken gemacht und es wurde auch keine Verschlüsselung benötigt!?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     
             private enum SMTPResponse : int
            {
                CONNECT_SUCCESS = 220,
                GENERIC_SUCCESS = 250,
                DATA_SUCCESS = 354,
                PASS_LOGIN = 334,
                PASS_SUCCESS = 235,
                QUIT_SUCCESS = 221
            }
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
     
                sock.Connect(endPoint);
                if (!Check_Response(sock, SMTPResponse.CONNECT_SUCCESS))
                {
                    sock.Close();
                    return;
                }
     
                Senddata(sock, string.Format("HELO {0}\r\n",   Dns.GetHostName()));
                if (!Check_Response(sock, SMTPResponse.GENERIC_SUCCESS))
                {
                    sock.Close();
                    return;
                }
     
                Senddata(sock, string.Format("AUTH LOGIN\r\n"));
                if (!Check_Response(sock, SMTPResponse.PASS_LOGIN))
                {
                    sock.Close();
                    return;
                }
                else
                {
                    Senddata(sock,   System.Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(Username)) +   "\r\n");
                    if (!Check_Response(sock, SMTPResponse.PASS_LOGIN))
                    {
                        sock.Close();
                        return;
                    }
                    else
                    {
                        Senddata(sock,   System.Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(Password)) +   "\r\n");
                        if (!Check_Response(sock,   SMTPResponse.PASS_SUCCESS))
                        {
                            sock.Close();
                            return;
                        }
                    }
                }
     
    „Jeder Fehler erscheint unglaublich dumm, wenn Andere ihn begehen.“
    Georg Christoph Lichtenberg

    Netiquette (vA §15)
    Codetags/Codeboxen
    Sehr gut gelöste Beiträge bitte mit einem "Danke" abschließen, danke :D

  2. #2
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Hallo,

    da das Problem immer noch offen ist (vorher per PN nachgefragt) push ich den nochma hoch.
    Hast du schon versucht, dich einmal mit telnet zu verbinden?
    Code :
    1
    
    telnet <SMTP-SERVER> 25

    Hier kannst du die Befehle der Reihe nach von Hand absetzen. Geh die Kommunikation einmal so durch (HELO, AUTH etc.) und schau ob es so geht. Ausserdem versuche mal statt dem AUTH LOGIN mal den AUTH PLAIN Login, evtl mag er ja nur den anderen nicht.

    Soweit ich weiß funktioniert die PLAIN Authentifizierung so:
    Code :
    1
    
    Benutzername<NULL>Kontoname<NULL>Passwort
    Kontoname sollte bei dir gleich dem Benutzernamen sein.
    Bei mir wird somit bei dem User "simon" und dem Passwort "mein_passwort" folgendes:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    $> telnet localhost 25
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 bk.it.cx ESMTP Postfix (Debian/GNU)
    EHLO localhost
    250-bk.it.cx
    250-PIPELINING
    250-SIZE 10240000
    250-VRFY
    250-ETRN
    250-STARTTLS
    250-AUTH PLAIN LOGIN
    250-AUTH=PLAIN LOGIN
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250 DSN
    AUTH PLAIN c2ltb24Ac2ltb24AbWVpbl9wYXNzd29ydCQ=
    235 2.7.0 Authentication successful

    Getestet mit einem aktuellen Postfix auf meinem Mailserver. Ach ja, weils mir grad einfällt... Mach mal an statt des "HELO" ein "EHLO", dann zeigt dir der Server an, welche Mechanismen zur Authentifizierung er unterstützt. Bei mir sind es die "PLAIN" und "LOGIN".

    Gruß
    BK
    Geändert von Bratkartoffel (06.09.10 um 08:43 Uhr)
    VScan bedankt sich. 
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  3. #3
    Avatar von VScan
    VScan VScan ist offline Mitglied Gold
    Registriert seit
    Dec 2008
    Ort
    Munich
    Beiträge
    131
    Ok, danke Bratkartoffel, für Deine Hilfe!


    Die TelNet-Verbindung hab ich jetzt nicht getestet, da diese eigentlich nicht mehr für sowas verwendet wird...


    Nachdem ich nochmals laut Deiner Anweisung die Authentifizierungsmöglichkeiten mit EHLO abgefragt hatte und AUTH PLAIN LOGIN unter anderem mit dabei war, hab ichs nochmals mit PLAIN probiert und der Parameterliste wie von Dir beschrieben, Ergebnis war eine Fehlermeldung mit "BAD Protocol".


    Schluss und endlich ist mein Email-Provider mit den Einstellungen des Mailservers schuld, denn bei anderen Anbietern funktioniert die Authentifizierung auch mit selbigem Code.

    Ich denke, dass der Reverse-DNS-Eintrag nicht richtig gesetzt wurde, denn teilweise bekomme ich folgende Fehlermeldung:

    "e.Error = {"Postfach nicht verfügbar. Die Serverantwort war: 5.7.1 <*******@******.net>: Recipient address rejected: Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs; MTA helo: vscan..."


    wie gesagt, bei anderen Anbietern funktioniert es ja auch muss ich halt wechseln



    Trotzdem danke für Deine Hilfe

    MfG
     
    „Jeder Fehler erscheint unglaublich dumm, wenn Andere ihn begehen.“
    Georg Christoph Lichtenberg

    Netiquette (vA §15)
    Codetags/Codeboxen
    Sehr gut gelöste Beiträge bitte mit einem "Danke" abschließen, danke :D

Ähnliche Themen

  1. Camspy SMTP --- Kein E-Mail Upload auf SMTP Server
    Von wighlander im Forum Internet, DSL & Flatrate
    Antworten: 1
    Letzter Beitrag: 24.02.05, 03:47
  2. Camspy SMTP --- Kein E-Mail Upload auf SMTP Server
    Von wighlander im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 23.02.05, 13:35
  3. SMTP ansprechen
    Von Froggi im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 06.04.04, 11:17
  4. iis und smtp
    Von Luda im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 07.10.03, 16:10
  5. SMTP after POP
    Von Maximus im Forum Office-Anwendungen
    Antworten: 3
    Letzter Beitrag: 23.07.03, 14:55