Anhang aus E-Mail herunterladen

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

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von LMS.Crafter.

    Anhang aus E-Mail herunterladen

    Hallo,

    ich habe eine kleine Frage, nämlich möchte ich von web.de Anhänge einer E-Mail herunterladen und speichern...
    Die E-Mail empfange ich so:

    VB.NET-Quellcode

    1. Dim iAnzahlEmail As Integer
    2. Dim pop As New Pop3Client
    3. pop.Connect("pop3.web.de", "995", True)
    4. pop.Authenticate("E-Mail", "Passwort")
    5. iAnzahlEmail = pop.GetMessageCount
    6. For i As Integer = 1 To iAnzahlEmail
    7. los_EmailListe.Add(New Email With {.sText = pop.GetMessage(i).ToMailMessage.Body, .sBetreff = pop.GetMessage(i).ToMailMessage.Subject, .sErhaltenAm = pop.GetMessage(i).Headers.Date})
    8. Next
    9. For Each obj In los_EmailListe
    10. ListBox1.Items.Add("Betreff: " & obj.sBetreff & " Absender: " & obj.sAbsender & " Erhalten aus: " & obj.sErhaltenAm)
    11. Next


    Doch ich bekomme es irgend wie nicht so richtig hin...
    Wenn es nicht möglich ist, wäre es auch okay, wenn das Programm web.de einfach öffnet und sichautomatisch einloggt, soweit kein Problem doch der interne Webbrowser in VB.net wird nicht unterstützt und so müsste es ein externer Browser sein, da weiß ich aber nicht wie man ein automatisches Login vornimmt...

    Vielen Dank, für eure Unterstützung! :D
    hmm
    wenn du noch komplett neu bist solltest du lieber den 2. Link nehmen dann musst du C# nicht in Basic umformen.

    In dem 2. Link ist jeder Schritt beschrieben

    Spoiler anzeigen

    Quellcode

    1. Public Sub Email_To_HDD(ByVal sPath As String)
    2. Dim oOutlook As Object ' Outlook Object
    3. Dim oNamespace As Object ' Namespace Object
    4. Dim oFolder As Object ' MapiFolder Object
    5. Dim oMail As Object ' Mail Object
    6. Dim oAnhang As Object ' Attachment Object
    7. Dim i As Integer
    8. Dim j As Integer
    9. ' Outlook-Konstanten
    10. Const olFolderInbox = 6
    11. Const olTXT = 0
    12. ' Ggf. abschließenden Backslash entfernen
    13. If Right$(sPath, 1) = "\" Then
    14. sPath = Left$(sPath, Len(sPath) - 1)
    15. End If
    16. ' Falls Zielordner nicht existiert,
    17. ' jetzt erstellen
    18. If Dir$(sPath, vbDirectory + vbHidden) = "" Then
    19. MkDir sPath
    20. End If
    21. ' Outlook-Objekt erstellen
    22. Set oOutlook = CreateObject("Outlook.Application")
    23. ' Namespace: MAPI
    24. Set oNamespace = oOutlook.GetNamespace("MAPI")
    25. ' Outlook-Ordner: "Neue Nachrichten"
    26. Set oFolder = oNamespace.GetDefaultFolder(olFolderInbox)
    27. ' Alle Mails durchlaufen
    28. i = 1
    29. j = oFolder.Items.Count
    30. Do While j > 0
    31. Set oMail = oFolder.Items(j)
    32. ' Auf Anhang prüfen und evtl. speichern
    33. With oMail.Attachments
    34. i = .Count
    35. Do While (i > 0)
    36. Set oAnhang = .Item(i)
    37. ' Anhang unter entsprechendem Namen speichern.
    38. ' Das "i_" ist nur zur Sicherheit, um doppelte
    39. ' Dateinamen zu verhindern
    40. oAnhang.SaveAsFile sPath & "\" & CStr(i) & "_" & _
    41. oAnhang.DisplayName
    42. i = i - 1
    43. Loop
    44. End With
    45. ' Nachricht speichern
    46. oMail.SaveAs sPath & CStr(i) & "_" & _
    47. oMail.Subject & ".txt", olTXT
    48. j = j - 1
    49. Loop
    50. ' Fertig
    51. MsgBox "Done"
    52. ' Objekte zerstören
    53. Set oMail = Nothing
    54. Set oAnhang = Nothing
    55. Set oFolder = Nothing
    56. Set oNamespace = Nothing
    57. Set oOutlook = Nothing
    58. End Sub
    Ok,
    danke BlueSoftware, mache ich :thumbup:

    Und nur mal so aus Interesse, wie kann man ein automatisches Login bei einem externen Browser wie z.B. Chrome machen?
    Beim internen geht es ja ziemlich einfach mit

    VB.NET-Quellcode

    1. Browser.Navigate("www.web.de")
    2. Browser.Document.GetElementById("password").InnerText = "Passwort"
    3. Browser.Document.GetElementById("username").InnerText = "E-Mail"

    aber bei einem anderen Browser...
    ist es da überhaupt möglich?
    @shaebich

    netcologne.dl.sourceforge.net/…0.5/OpenPop.NET 2.0.5.zip

    Vielen Dank, für eure Geduld!
    ^^

    Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von „LMS.Crafter“ ()

    LMS.Crafter schrieb:



    xD du hast meine Frage falsch interpretiert...^^

    Wollte damit eig. sagen, "schau doch beim Hersteller deiner dll"

    hpop.sourceforge.net/documentation/index.html

    dort musst du schauen ob man dir die Möglichkeit gibt Anhänge herunterzuladen.

    Die Möglichkeit von @BlueSoftware beantwortet eig. nicht im geringsten deine Fragen, noch dazu ist der Code absoluter Müll :D
    Bei seiner Antwort handelt es sich lediglich um den Download der E-Mails aus Outlook.