Announcement

Collapse
No announcement yet.

SmtpClient

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Zeige welche Klassen du als eMailclient benutzt.
    Der Thread ist gesplittet: anfangs ging es ums Senden. Das war dank Ralf erledigt. Hätte einen neuen Thread aufmachen sollen. Jetzt geht es ums Empfangen. Und der eMailclient spielt da keine Rolle mehr. Ich habe die Mail korrekt empfangen. Muss sie nur noch parsen ...

    Comment


    • #17
      Also wir stellen erstmal fest, du benutzt keinen irgendwie gearteten eMailClient um die Mail vom eMailserver abzurufen, sondern machst alles per Hand.
      Ok, programmiere nicht in NET und nun weiß ich auch warum. Wenn es das Framework nicht schafft, SMTP, POP3 , FTP usw. Klassen zur Verfügung zu stellen ist es wohl etwas für die Tonne.

      Ich würde dringend raten, im Internet nach fertigen Lösungen zu suchen

      Ansonsten musst du dein Programm debuggen und schauen, was
      in part drin steht
      in att drin steht
      wenn die Parts die gewünschten Teile sind und du das geprüft hast

      Die Zeile zum test aufteilen, um die Inhalte jeden Schrittes prüfen zu können
      Xml.Linq.XElement.Parse(System.Text.Encoding.ASCII .GetString(Convert.FromBase64String(att.ToString)) )

      Insgesamt gesehen ist das alles schlechter Stil. Das Lesen der eMail wird mit auslesen der GUID vermischt, alles in eine Funktion gepackt usw.
      Es wird übersichtlichter das alles zu trennen

      Zuletzt editiert von Christian Marquardt; 25.03.2020, 18:34.
      Christian

      Comment


      • #18
        Ich denke, das Attachment hat eine andere Zeichenkodierung, als die, die ich vermutlich verwende (bin auf der Suche). Denn Die Fehlermeldung lautet ja:
        Ungültige Daten auf Stammebene Zeile 1 Position 1
        Es beginnt mit 77u/PD94...
        Wenn es BOM ist: wie dekodiert man das in .Net?

        Comment


        • #19
          Danach
          https://support.dataaccess.com/Forum...p?t-61049.html
          kannst du 77u/ rausschneiden
          Christian

          Comment


          • #20
            Du zeigst ja schon dein XML da steht explizit UTF-8 drin also benutz das auch zum dekodieren
            Also nicht
            Code:
            System.Text.Encoding.ASCII
            sondern
            Code:
            System.Text.Encoding.UTF8
            . Das sollte auch automatisch den BOM entfernen.




            Comment


            • #21
              Das sollte auch automatisch den BOM entfernen.
              Wollte schon vor Freude auf den Tisch springen ;-)
              Aber leider tuts nicht.
              Code:
              Dim xDoc As XElement = XElement.Parse(System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(att)))
              bringt nach wie vor die Fehlermeldung "Ungültige Daten"
              Hab jetzt reichlich Zeit damit verbracht, alles über "BOM entfernen" zu lesen. Dazu gibt es seitenweise Beispielcode. Schien mir aber alles zu aufwändig. Mache jetzt kleine Brötchen und schreibe:
              Code:
                              If att.StartsWith("77u/") Then att = att.Substring(4)
                              Dim xDoc As System.Xml.Linq.XElement = Xml.Linq.XElement.Parse(System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(att)))
              Funktioniert. Kann natürlich irgendwann in die Hose gehen. Aber da werde ich sicher eine entsprechende Fehlermeldung bekommen und mich dann später wieder damit befassen. Für die Prüfung reichts erstmal.
              Danke nochmal an euch beide!
              Schöne Grüße
              Norbert

              Comment

              Working...
              X