Laden...

[gelöst] max. Größe der empfangbaren Anhänge eines SMTP Servers ermitteln

Erstellt von Trekki1990 vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.237 Views
Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 9 Jahren
[gelöst] max. Größe der empfangbaren Anhänge eines SMTP Servers ermitteln

Hallo Leute,

ich versuche mich schon eine Ganze Weile daran und stecke fest.
Bei

string line = clientStreamReader.ReadLine();

friert das Programm ein und ich habe absolut keine Ahnung wieso. Die IP Adresse stimmt, der Server ist erreichbar, denn telnet über die normale CMD von Windows funktioniert es.

Hier mein Code:


private long GetSizeAttachament()
        {
            long Size = 0;
            TcpClient smtpTest = new TcpClient();

            try
            {
                smtpTest.Connect(textBox1.Text, 25);
                if (smtpTest.Connected)
                {
                    NetworkStream ns = smtpTest.GetStream();
                    StreamReader clientStreamReader = new StreamReader(ns);
                    StreamWriter clientStreamWriter = new StreamWriter(ns);
                    clientStreamReader.ReadLine();

                    clientStreamWriter.WriteLine("EHLO somehost");
                    while (true)
                    {
                        string line = clientStreamReader.ReadLine();
                        if (line.StartsWith("250"))
                        {
                            if (Regex.Match(line, "250-SIZE (.*?)$").Groups.Count > 1)
                            {
                                Size = long.Parse(Regex.Match(line, "250-SIZE (.*?)$").Groups[1].Value);
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Fehler: " + ex.Message);
            }

            smtpTest.Close();
            return Size;
        }

Habt ihr eine Idee? Danke schon mal für eure Vorschläge.

Gruß
trekki

W
872 Beiträge seit 2005
vor 9 Jahren

Hast Du schon mal geschaut, was der Server tatsächlich antwortet.
Würde an Deiner Stelle Putty nehmen, Raw Connection und dann mal nachspielen, was Du machst. Alternativ mit Wirehshark schauen, was der Server antwortet.

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 9 Jahren

Hallo weismat,

ja habe ich ja. Habe CMD gestartet. Befehl

telnet IPADRESSE 25

eingegeben und der Server antwortet mir. Kann dann auch den Befehl EHLO absetzen. Das funktioniert alles.

Gruß
trekki

185 Beiträge seit 2005
vor 9 Jahren

nein, hast du nicht.

Du siehst in Telnet ja nur die darstellbaren Zeichen.

W
872 Beiträge seit 2005
vor 9 Jahren

Beim zweiten Schauen ist mir aufgefallen, daß Du keinen Flush machst - daran wird es wahrscheinlich liegen...

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 9 Jahren

Hallo weismat,

vielen Dank für die Antwort! Das war es. Jetzt läufts einwandfrei.

Gruß
trekki