E-Mail (MSG) in einem Webbroser anzeigen lassen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von SachaDS.

    Eigene Ansätze?!

    Konkrete Probleme an denen du scheiterst?!

    Eigeninitiative?!

    Wenn du fertigen Code haben willst -> Begebe dich bitte zum Marktplatz!
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Hi,
    wie geschrieben habe ich bisher keine Ansatz gefunden. Ich lese aus einem Ordner entweder PDF oder msg dateien in eine Listbox ein. Wenn ich eine PDF-Datei habe kann ich die auch anzeigen.

    VB.NET-Quellcode

    1. Sub DatenEinlesen()
    2. ' ggf. abschließenden Backslash entfernen
    3. sPath = lblPfadQuelldatei.Text
    4. If sPath.EndsWith("") And sPath.Length > 3 Then
    5. sPath = sPath.Substring(0, sPath.Length - 1)
    6. End If
    7. ' Directory-Object erstellenDim oDir As New System.IO.DirectoryInfo(sPath)
    8. ' alle Dateien des OrdnersDim oFiles As System.IO.FileInfo() = oDir.GetFiles()
    9. ' Datei-Array durchlaufen und in
    10. ' ListBox übertragen
    11. Dim oFile As System.IO.FileInfo
    12. ListBox1.Items.Clear()For Each oFile In oFiles
    13. ListBox1.Items.Add(oFile.Name)
    14. Next
    15. 'archivieren kann man nur wenn was da ist :)
    16. iAnzahlDokumente = ListBox1.Items.Count
    17. lblAnzahlDokunte.Text = iAnzahlDokumente.ToString
    18. lblAnzahlDokunte.Visible = True
    19. If ListBox1.Items.Count > 0 Then
    20. GroupBox1.Enabled = True
    21. cmdTerminerstellen.Enabled = True
    22. If ListBox1.Items.Count = 1 Then
    23. ListBox1.SelectedItems.Add(ListBox1.Items.Item(0))
    24. End If
    25. ElseMsgBox("Es sind keine PDF-Dokumente in dem Ordner vorhanden!")
    26. End If
    27. End Sub


    VB.NET-Quellcode

    1. Private Sub cmdDokument_anzeigen_Click(sender As System.Object, e As System.EventArgs) Handles cmdDokument_anzeigen.Click
    2. If ListBox1.SelectedItem = "" ThenMsgBox("Bitte einen Vorgang auswählen (markieren).")
    3. Exit Sub
    4. Else
    5. chknureinzeln.Checked = True
    6. sDateiname = ListBox1.SelectedItem.ToString
    7. If sDateiname.Contains(".pdf") ThenDim s As String = GenHTMLEmbedPDF(sPath & "" & sDateiname)
    8. If Not String.IsNullOrEmpty(s) Then
    9. Dokumentanzeige.WebBrowser1.DocumentText = sDokumentanzeige.Show()
    10. End If
    11. End If
    12. End If
    13. End Sub



    Nur bei der Mail habe ich keine Ahnung. Ich könnte eine Mail aus Outlook öffenen aber eine im Ordner liegende datei klapt nicht.
    Evtl. hilft dir das hier -> codeproject.com/Articles/32899…-an-Outlook-MSG-File-in-C

    zwar C# aber das sollte ja kein Problem sein
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Hallo,

    danke für die Seite. Diese hatte ich auch schon gefunden. Jedoch ist C für mich ein unbekanntest Universum.

    Ich bin zumindest schon soweit, dass ich einen unformatieren Text in den Webbroser bekomme.

    VB.NET-Quellcode

    1. Function MSGOpen()Dim strPathName As String = ""
    2. Dim objMailItem As Outlook.MailItem
    3. Dim objMailOLApp As Outlook.Application
    4. strPathName = sPath & "" & sDateiname
    5. objMailOLApp = New Outlook.Application
    6. objMailItem = objMailOLApp.CreateItemFromTemplate(strPathName)With objMailItem
    7. sWebbrowsertext = objMailItem.SenderEmailAddress & vbNewLine & vbNewLine & objMailItem.BodyEnd With
    8. End Function




    Nun werde ich mal weiter schauen.
    1. C <> C# (oder auch C not C# oder C != C# :D ) kurz: C ist nicht C#
    2. Entferne bitte den Color BB-Code vom VB BB-Code (der stört)

    3. Hier ist der (zu VB.NET) konvertierte Quelltext von dieser Seite (verwendet wurde dieses Tool)

    VB.NET-Quellcode

    1. Private Shared Sub main()
    2. 'create new Outlook message from file
    3. Dim outlookMsg As New OutlookStorage.Message("C:\test.msg")
    4. DisplayMessage(outlookMsg)
    5. End Sub
    6. Private Shared Sub DisplayMessage(outlookMsg As OutlookStorage.Message)
    7. Console.WriteLine("Subject: {0}", outlookMsg.Subject)
    8. Console.WriteLine("Body: {0}", outlookMsg.BodyText)
    9. Console.WriteLine("{0} Recipients", outlookMsg.Recipients.Count)
    10. For Each recip As OutlookStorage.Recipient In outlookMsg.Recipients
    11. Console.WriteLine(" {0}:{1}", recip.Type, recip.Email)
    12. Next
    13. Console.WriteLine("{0} Attachments", outlookMsg.Attachments.Count)
    14. For Each attach As OutlookStorage.Attachment In outlookMsg.Attachments
    15. Console.WriteLine(" {0}, {1}b", attach.Filename, attach.Data.Length)
    16. Next
    17. Console.WriteLine("{0} Messages", outlookMsg.Messages.Count)
    18. For Each subMessage As OutlookStorage.Message In outlookMsg.Messages
    19. DisplayMessage(subMessage)
    20. Next
    21. End Sub
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Danke für das umwandel.

    Ich habe aber noch etwas einfacheres gefunden was mir so reicht.

    VB.NET-Quellcode

    1. Dim MasterFileName As String = sPath & "" & sListboxDateiname
    2. Dim oApp As New Outlook.Application
    3. Dim OMItem As Outlook.MailItemOMItem = CType(oApp.CreateItemFromTemplate(MasterFileName & ".msg"), Outlook.MailItem)
    4. Dokumentanzeige.WebBrowser1.DocumentText = "Gesendet: " & OMItem.SentOn & "<br />" & "Von: " & OMItem.SenderName & "<br />" & "Betreff: " & OMItem.Subject & OMItem.HTMLBodyDokumentanzeige.Show()
    5. OMItem = Nothing

    Vielen Dank für die Hilfe
    Gruß Sacha