none
SMTPClient Authentification Error RRS feed

  • Frage

  • Hallo,

    ich benutze das .NET Framework 3.5 und die darin enthaltene Klasse "SMTPClient". Damit möchte ich eine Email an einen Provider senden. Ich habe mich dabei komplett an die von Mircosoft vorgegebenen Beispiele gehalten. Jedoch bekomme ich beim senden immer einen Authentification Error zurück, obwohl alle angaben stimmen.

    S: 220 2.0.0 Seznam SMTP server waiting for your HELO/EHLO
    C: EHLO RechnerName
    S: 250-Email.Seznam.cz - Email zdarma na cely zivot ESMTP | 250-AUTH LOGIN PLAIN | 250-8BITMIME | 250-PIPELINING | 250-SIZE 18000000 | 250-ENHANCEDSTATUSCODES | 250 X-SZNEXTENSIONS
    C: AUTH login sgNzyMN7  (= Login-Methode und LoginName)
    S: 334 VXNlcm5hbWU6  (= Erkennt offenbar nicht das der LoginName schon mitgesendet wurde und verlangt das Login)
    C: eGDzyEawkDa= (SMTPClient erkennt die anfrage nicht und liefert hier stattdessen das Passwort)
    S: 334 UGFzc3dvcmQ6 (Server will Passwort)
     smtp [FIN, ACK] Seq=58 Ack=267 Win=66304 Len=0  (SMTPClient bricht verbindung ab, da offenbar "gib mir Passwort" keine gültige Antwort war)

    Wieso erkennt die SMTPClient-Klasse nicht, das der Server nochmal den Benutzernamen haben möchte? Ich habe auch keinerlei Einstellungsmöglichkeiten gefunden, dem Client zu sagen, nimm die "alte" Anmeldemethode bei der das Login nicht gleich mit übergeben wird.

    Hat jmd eine Idee??

    Hier mein Quellcode:

     // Command line argument must the the SMTP host.
        SmtpClient^ client = gcnew SmtpClient(SmtpServerAdr);   
     
     // Specify the e-mail sender.
        // Create a mailing address that includes a UTF8
        // character in the display name.
        MailAddress^ from = gcnew MailAddress(SourceMailAdr);
        // Set destinations for the e-mail message.
        MailAddress^ to = gcnew MailAddress(DestMailAdr);
        // Specify the message content.
        MailMessage^ message = gcnew MailMessage(from, to);
        message->Body = Text;
        message->BodyEncoding = System::Text::Encoding::UTF8;
        // subject.
     message->Subject = Subject;
        message->SubjectEncoding = System::Text::Encoding::UTF8;

     // Set the method that is called back when the send
        // operation ends.
        client->SendCompleted += gcnew SendCompletedEventHandler(&smtpClient::SendCompletedCallback);

        // The userState can be any object that allows your
        // callback method to identify this send operation.
        // For this example, the userToken is a string constant.
        String^ userState = JobIdent;

        client->UseDefaultCredentials = false;
      client->Credentials = gcnew NetworkCredential(SmtpAccountUsername, SmtpAccountPassword);

     client->DeliveryMethod = SmtpDeliveryMethod::Network;

     try
     {
      client->SendAsync(message, userState);
     }

    Donnerstag, 22. November 2012 06:58

Alle Antworten