Email Empfang über POP3

    • VB.NET

    Es gibt 74 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

      Hallo hätte bezüglich der Lizenz ein paar fragen

      Wie kann man die klasse benutzen ? uneingeschränkt, darf ich mein Programm hochladen wenn ich die Klasse Nutze, darf ich es Kommerziell und nicht kommerziell nutzen
      Das Thema ist zwar schon alt, hoffe aber trotzdem auf eine Antwort:

      VB.NET-Quellcode

      1. Imports System.IO
      2. Imports OpenPOP
      3. Imports OpenPOP.POP3
      4. Public Class Form1
      5. Dim Messages As New List(Of String)
      6. Dim AttachArray As New ArrayList
      7. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      8. Dim pop3 As New POPClient
      9. pop3.Disconnect()
      10. pop3.Connect("pop3.live.com", 995)
      11. pop3.Authenticate("emailadresse.b@hotmail.com", "passwort")
      12. ListBox1.Items.Clear()
      13. For i As Integer = 1 To pop3.GetMessageCount
      14. Dim m As MIMEParser.Message = pop3.GetMessage(i, False)
      15. ListBox1.Items.Add("From: " & m.From & " <" & m.FromEmail & "> - " & m.Subject)
      16. If m.MessageBody.Count > 0 Then
      17. Dim Attach As New List(Of MIMEParser.Attachment)
      18. Messages.Add(m.MessageBody(m.MessageBody.Count - 1))
      19. For ii As Integer = 1 To m.AttachmentCount - 1
      20. Attach.Add(m.GetAttachment(ii))
      21. Next
      22. AttachArray.Add(Attach)
      23. End If
      24. ' pop3.DeleteMessage(i) ' Wenn die Message nach abholung gelöscht werden soll
      25. Next
      26. pop3.Disconnect()
      27. End Sub
      28. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As ListBox, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
      29. TextBox1.Text = Messages(sender.SelectedIndex)
      30. ListBox2.Items.Clear()
      31. For Each att As MIMEParser.Attachment In AttachArray(sender.SelectedIndex)
      32. ListBox2.Items.Add(att.ContentFileName & " " & att.ContentLength & " Byte")
      33. Next
      34. End Sub
      35. Private Sub ListBox2_SelectedIndexChanged(ByVal sender As ListBox, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
      36. Dim att As MIMEParser.Attachment = AttachArray(ListBox1.SelectedIndex)(sender.SelectedIndex)
      37. Dim fs As FileStream = File.Create(Application.StartupPath & "/attach/" & att.ContentFileName)
      38. Dim da() As Byte
      39. da = att.DecodedAttachment
      40. fs.Write(da, 0, da.Length)
      41. MsgBox("'" & att.ContentFileName & "' wurde gespeichert!")
      42. fs.Close()
      43. End Sub
      44. End Class


      Wenn ich die Form1 öffne und dann auf Button1 klicke, geschicht erst garnichts, dann kommt die Fehlermeldung für

      VB.NET-Quellcode

      1. pop3.Connect("pop3.live.com", 995)


      "IOExeption wurde nicht behandelt. Von der Übertragungsverbindung können keine Daten gelesen werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen."

      Hoffe auf eine Antwort :)

      Gruss
      Hey
      Danke für das Tutorial.
      Ich konnte die OpenPOP.dll und die MIMEParser.dll Datei durch "Project > Verweis hinzufügen > Durchsuche > Datei" hinzufügen.
      Nun gehe ich in den Quellcode von Form 1 und gebe zu oberst ein:


      VB.NET-Quellcode

      1. Imports System.IO
      2. Imports OpenPOP
      3. Imports OpenPOP.POP3



      Aber was ist mit der MIMEParser.dll nichts weiteres machen?

      Bei

      VB.NET-Quellcode

      1. Dim pop3 As New POPClient
      2. pop3.Disconnect()
      3. pop3.Connect("pop3.live.com", 995)
      4. pop3.Authenticate("*******@hotmail.com", "*********")
      5. ListBox1.Items.Clear()




      Kommt die Fehlermeldung: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

      Kannst du mir bitte weiterhelfen?
      evl ist das Disconnect am falschen platz da du dich noch nicht mal connectet hast :)
      MFG 0x426c61636b4e6574776f726b426974
      InOffical VB-Paradise IRC-Server
      webchat.freenode.net/
      Channel : ##vbparadise
      Hall Leute, ich bekomme jedes Mal die Fehlermeldung, dass (Dim pop3 As New PopClient) Popclient nicht definiert wird.... vielleicht könnt ihr mir ja weiterhelfen !

      Danke!


      Visual Basic-Quellcode

      1. ​Imports System.IO
      2. Imports OpenPop
      3. Imports OpenPop.Pop3
      4. Public Class Form1
      5. Dim Messages As New List(Of String)
      6. Dim AttachArray As New ArrayList
      7. Dim pop = "pop3.web.de"
      8. Dim user = "xxxxx"
      9. Dim pass = "xxxxxx"
      10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      11. Dim pop3 As New PopClient
      12. pop3.Disconnect()
      13. pop3.Connect(pop, 995)
      14. pop3.Authenticate(user, pass)
      15. ListBox1.Items.Clear()
      16. For i As Integer = 1 To pop3.GetMessageCount
      17. Dim m As MIMEParser.Message = pop3.GetMessage(i, False)
      18. ListBox1.Items.Add("From: " & m.From & " <" & m.FromEmail & "> - " & m.Subject)
      19. If m.MessageBody.Count > 0 Then
      20. Dim Attach As New List(Of MIMEParser.Attachment)
      21. Messages.Add(m.MessageBody(m.MessageBody.Count - 1))
      22. For ii As Integer = 1 To m.AttachmentCount - 1
      23. Attach.Add(m.GetAttachment(ii))
      24. Next
      25. AttachArray.Add(Attach)
      26. End If
      27. 'pop3.DeleteMessage(i) ' Wenn die Message nach abholung gelöscht werden soll
      28. Next
      29. pop3.Disconnect()
      30. End Sub
      31. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As ListBox, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
      32. TextBox1.Text = Messages(sender.SelectedIndex)
      33. ListBox2.Items.Clear()
      34. For Each att As MIMEParser.Attachment In AttachArray(sender.SelectedIndex)
      35. ListBox2.Items.Add(att.ContentFileName & " " & att.ContentLength & " Byte")
      36. Next
      37. End Sub
      38. Private Sub ListBox2_SelectedIndexChanged(ByVal sender As ListBox, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
      39. Dim att As MIMEParser.Attachment = AttachArray(ListBox1.SelectedIndex)(sender.SelectedIndex)
      40. Dim fs As FileStream = File.Create(Application.StartupPath & "/attach/" & att.ContentFileName)
      41. Dim da() As Byte
      42. da = att.DecodedAttachment
      43. fs.Write(da, 0, da.Length)
      44. MsgBox("'" & att.ContentFileName & "' wurde gespeichert!")
      45. fs.Close()
      46. End Sub
      47. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      48. Dim pop3 As New PopClient
      49. pop3.Disconnect()
      50. pop3.Connect(pop, 995)
      51. pop3.Authenticate(user, pass)
      52. ListBox1.Items.Clear()
      53. For i As Integer = 1 To pop3.GetMessageCount
      54. Dim m As MIMEParser.Message = pop3.GetMessage(i, False)
      55. ListBox1.Items.Add("From: " & m.From & " <" & m.FromEmail & "> - " & m.Subject)
      56. If m.MessageBody.Count > 0 Then
      57. Dim Attach As New List(Of MIMEParser.Attachment)
      58. Messages.Add(m.MessageBody(m.MessageBody.Count - 1))
      59. For ii As Integer = 1 To m.AttachmentCount - 1
      60. Attach.Add(m.GetAttachment(ii))
      61. Next
      62. AttachArray.Add(Attach)
      63. End If
      64. pop3.DeleteMessage(i)
      65. Next
      66. pop3.Disconnect()
      67. End Sub
      68. End Class
      Super, dass hat sehr geholfen... dummer Fehler meinerseits , aber manchmal sieht man den Wald vor lauter Bäumen nicht :(

      Jetzt kommt immer diese Fehlermeldung


      Fehler BC30516 Fehler bei der Überladungsauflösung, da keine zugreifbare "Connect" diese Anzahl von Argumenten akzeptiert. ZEILE 13 und 50

      und


      Fehler BC30057 Zu viele Argumente für "Public Overloads Function GetMessage(messageNumber As Integer) As Message". ZEILE 17 und 54

      wäre super, wenn mir noch einmal jemand helfen könnte :)

      Der Methode pop3.Connect() hast du die falsche Anzahl von Argumenten übergeben. Hier z.B. 2 -> pop3.Connect(pop, 995). "pop" und "995" sind die Argumente. Schau dir in der IDE an, welche und wieviel Argumente die Methode haben möchte. Intellisence hilft dir dabei.
      "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

      Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
      Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

      Dada181 schrieb:

      Gleiche Fehlermeldung.

      in Post #71 hast du 2 Fehlermeldungen genannt. Welche erscheint nun? Oder immernoch beide?
      Was für Konstelationen hast du getestet für das pop3.Connect()?
      schicke ggf. nochmal die betroffenen Code-Zeilen - wenn sich im Vergleich zu Post #69 viel geändert haben sollte.


      LG Acr0most
      Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
      Signature-Move 8o
      kein Problem mit privaten Konversationen zu Thema XY :thumbup:
      Es macht wenig Sinn, hier eventuelle Fehler im Tutorial-Forum zu diskutieren.
      Verlagert die Diskussion ins Netzwerkforum!

      Das Tutorial ist aus dem Jahr 2009.
      Da hat sich (wen wundert's?) zwischenzeitlich auch bei OpenPop etwas getan.
      Und es gibt auch eine ausführliche Doku dafür:
      hpop.sourceforge.net

      Zum speziellen Problem:
      Die Überladungen für Connect sind hier beschrieben:
      hpop.sourceforge.net/documenta…nt.Connect~Overloads.html
      --
      If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
      --