Sie sind hier: Startseite
 Liste aller Codebeispiele

E-Mails von einem Microsoft Exchange Server abholen und Dateianhänge auspacken (im Dateisystem speichern)

Autor: Dr. Holger Schwichtenberg

Beschreibung


Der Code verwendet CDO (Collaboration Data Object), eine COM-Komponente. Die CDO-Komponente ist in Form eines Wrappers (Namensraum Interop.Mapi) einzubinden.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' E-Mails von einem Microsoft Exchange Server abholen und Dateianhänge auspacken (im Dateisystem speichern)
' (C) Dr. Holger Schwichtenberg 2007

Imports Interop
Imports System

Module MainModule
Dim Ergebnis As String = ""
Dim Anzahl As Long = 0
Const PROFILNAME As String = "Agent"
Const ORDNERNAME As String = "Datenordner"
Const DATEISYSTEM As String = "d:\daten"

Sub Main()
AttachmentsAuswerten()
Console.ReadLine()
End Sub

Sub OutDebug(ByVal s As String)
Dim sw As New System.IO.StreamWriter("C:\log.txt", True)
sw.WriteLine(DateTime.Now + ": " + s)
sw.Close()
Console.WriteLine(s)
End Sub

Sub AttachmentsAuswerten()
OutDebug("Starte Abholvorgang...")
'Try
Dim objSession As mapi.Session
Dim objF1 As mapi.Folder
Dim objF2 As mapi.Folder
' --- Instanziierung mit new !
objSession = New mapi.Session()
' --- Anmelden
OutDebug("Login")
' Statisches Profil
objSession.Logon(PROFILNAME)
' Dynamicshes Profil
Dim strProfileInfo As String = "192.168.1.191" & vbLf & "HS"
'objSession.Logon("", "", False, True, 0, False, strProfileInfo)

' --- Zugriff auf Ordner
objF1 = CType(objSession.Inbox, mapi.Folder)
objF2 = recsearch_Folder(objF1, ORDNERNAME)
' --- Nachrichten auswerten
For Each m As mapi.Message In objF2.Messages
If m.Unread Then
For Each a As mapi.Attachment In m.Attachments
Ergebnis &= a.Name & ";"
Anzahl += 1
a.WriteToFile(DATEISYSTEM & a.Name)
OutDebug("Anhang: " & a.Name)
Next
End If
Next
OutDebug("Fertig: Anzahl der Anhänge: " & Anzahl)
OutDebug("Abholvorgang beendet!")
'Catch ex As Exception
' OutDebug("Fehler: " & ex.GetType().FullName & ":" + ex.Message)
' 'End Try
End Sub


Public Function recsearch_Folder(ByVal objStartFO, ByVal OrdnerName)
Dim objF As mapi.Folder
If Not objStartFO Is Nothing Then
' --- Vergleich ausführen
If objStartFO.Name = OrdnerName Then
Return objStartFO
Else
' --- Rekursion über alle Unterordner
For Each objF In objStartFO.Folders
Dim objF2 As mapi.Folder = recsearch_Folder(objF, OrdnerName)
' --- Abbruchbedigung der Rekursion
If objF2 IsNot Nothing Then Return objF2
Next
Return Nothing
End If
End If
Return Nothing
End Function
End Module

 

Querverweise

 Definition '.NET Framework Class Library'  .NET & Visual Studio Community Portal

Buchtipp

Buchcover Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch (3. Auflage 2018/8. Auflage Gesamtreihe) Kindle Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch (3. Auflage 2018/8. Auflage Gesamtreihe) Kindle
Autoren: Dr. Holger Schwichtenberg
erschienen 2018, 1000 Seiten, 42,99 €
ISBN: 978-3-446-45923-6
Bestellung: Amazon.de oder im Buchhandel über ISBN 978-3-446-45923-6

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema Visual Basic  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema:

 .NET 3.5
 Windows Scripting (5. Auflage)
 C# 7.2 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (PDF)
 ASP.NET 4.0 mit Visual C# 2010
 Microsoft .NET 2.0 Crashkurs - Final Edition
 Essential PowerShell
 Microsoft ASP.NET 3.5 mit Visual C# 2008 - Das Entwicklerbuch
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (PDF)
 Office 2010 Programmierung mit VSTO und .NET 4.0: Word, Excel und Outlook erweitern und anpassen
 Microsoft ASP.NET 2.0 mit Visual Basic 2005 - Das Entwicklerbuch
 .NET 3.5 Crashkurs
 Windows Scripting Lernen, 6. Auflage
 Microsoft .NET 4.5 Update - Crashkurs (EBOOK - PDF)
 Visual Basic 2010: Grundlagen, ADO.NET, Windows Presentation Foundation
 C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (DRUCK)
 Windows Scripting Lernen 5. Auflage
 .NET 4.0 Crashkurs
 C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (DRUCK)
 Visual Basic 2010
 Webanwendungen mit ASP.NET 3.5 und AJAX Crashkurs
 Microsoft ASP.NET 3.5 mit Visual Basic 2008 - Das Entwicklerbuch
 C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (PDF)
 Microsoft .NET 4.5 Update - Crashkurs
 Microsoft ASP.NET 2.0 mit C# 2005 - Das Entwicklerbuch
 Windows Scripting Lernen, 2. Auflage
 Alle unsere aktuellen Fachbücher