IMAP Emails abrufen, Fehler?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Andy16823.

    IMAP Emails abrufen, Fehler?

    Hallo zusammen, ich versuche anhand folgendem Beispiel Emails aus meinem IMAP-Postfach zu empfangen, leider bekomme ich aber immer den Fehler:

    Hier das Beispiel

    Hier der Fehler:
    Ein Ausnahmefehler des Typs "System.InvalidCastException" ist in Microsoft.VisualBasic.dll aufgetreten.
    Zusätzliche Informationen: Ungültige Konvertierung von der Zeichenfolge $ FETCH in Typ Double.

    Die Zeilen funktionieren:

    VB.NET-Quellcode

    1. Label3.Text = "Total Messages " + imap.MailCount().ToString()
    2. Label4.Text = "Total Unread Messages " + imap.MailUnreadCount().ToString()


    Bei den beiden kommt jeweils der Fehler:

    VB.NET-Quellcode

    1. TextBox1.Text = imap.GetMessageHeaders(1)
    2. RichTextBox1.Text = imap.GetMessage(1)


    PS: Die Controls heißen nur zu Testzwecken so....

    Danke schonmal!
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Schade, ursprünglich wollte ich Bordmittel benutzen, aber dann versuch ichs mal mit deiner dll.

    PS: In deinem Post wo du die DLL vorstellst ist der Tutorial-Link down, wollt ich nur mal erwähnt haben^^..

    EDIT: Hab gerade total das komische Problem..
    Füge die dll über die Verweise hinzu, importiere nMail und schreibe Code, nach einigen Sekunden schmeißt der Verweis sich scheinbar selber raus, sodass der Import inklusive Sub-Items nicht mehr bekannt sind und Fehler ergeben.

    Dafuq?
    Die Datei ist allerdings noch auf dem Desktop vorhanden.. Hmm..

    Starte auch das Visual Studio neu, dann ist alles gut, kaum debugge ich, wieder weg OO?

    EDIT 2:
    Ich hatte das Framework auf 2.0.. Die dll brauchte 3.5.


    So, die Connection haut hin (habe ich mir ausgeben lassen, weiß jetzt nicht wie die Funktion hieß, da stand Login okay und es kam auch keine Fehlermeldung).
    Wenn ich jetzt allerdings eine Mail abrufen will, dann hängt es ewig und es passiert nicht.

    Als Postfach benutze ich die Emailadresse, ist das korrekt?
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Rootbob91“ ()

    Ja, ich werde auf github.com/Andy16823/N-Mail ein Wiki erstellen. Das ist auch die Aktuellste version. Ein dank auch nochmal an @Alex-Digital der an N-Mail Mitwirkt und an @Trade
    Meine Projekte Genesis Game Engine | GFX | smartli.me - Der smarte URL shortener

    Rootbob91 schrieb:

    Ungültige Konvertierung
    Habs mal eben probiert, das haut iwie nicht hin.

    C#-Quellcode

    1. public void AuthenticateUser(string username, string password)
    2. {
    3. _imapSw.WriteLine("$ LOGIN " + username + " " + password);
    4. _imapSw.Flush();
    5. string res = Response(); // hier die Antwort auswerten
    6. Console.WriteLine(res);
    7. }
    Da kommt
    500 unrecognized command
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hmmm, bei mir hats soweit geklappt :0..

    Bei Andys N-Mail hängt sich das Programm auf und es bleibt auch dabei, kein Fehler nichts.

    Damnnn, dabei wollt ich nur die Datenverarbeitung aus den Emails automatisieren^^..
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Oh, dann hatte ich das mit dem Postfach falsch verstanden, jetzt geht's, aber die Darstellung ist ja bisher relativ Mau.

    Gibt es die Möglichkeit da irgendwie nur an den Titel und den Body dran zu kommen (also seitens deiner DLL), oder muss ich mir da mit RegEx oder etc. zusammenbasteln?
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Okay, also wenn ich mit

    VB.NET-Quellcode

    1. mClient.getMail("inbox", 1)
    .

    Wie funktioniert das dann mit der Message Klasse?
    Ich hätte da jetzt an sowas gedacht:

    VB.NET-Quellcode

    1. Private bla As New ImapMail(mClient.GetMail("inbox", 0))
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Du brauchst das Postfach, die Klasse mit den User Daten und die ID der Mail (für die erste 0, zweite 1 usw)

    C#-Quellcode

    1. ImapMail(String folder, UserInformation ui, int ID)
    Meine Projekte Genesis Game Engine | GFX | smartli.me - Der smarte URL shortener

    Aber vorher connecten muss ja trotzdem oder, also via des ImapClients?
    Habs jetzt so, dann ist leider der Body leer:

    VB.NET-Quellcode

    1. Dim bla As New ImapMail("inbox", New UserInformation(username, host, password, 143, False), 1)


    (Die Daten sind auf jeden Fall korrekt)
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..