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

Beratung & Support:

Schulungen zu diesem Thema:

 Visual Basic .NET - Aufbauwissen
 Grundlagen der objektorientierten Programmierung anhand von C# oder Visual Basic .NET
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) von .NET-Anwendungen (C#/Visual Basic .NET)
 Visual Basic 6.0 (VB6.0)
 Objektorientierte Entwurfsmuster (Design Patterns) mit .NET (C#, Visual Basic .NET, C++/CLI)
 Visual Basic .NET - Basiswissen
 Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), XAML und .NET/C#/Visual Basic
 Visual Basic Script (VBScript/VBS) - Sprachsyntax und Praxiseinsatz
 Word-Programmierung mit Visual Basic for Applications (VBA)
 Visual Studio Tools for Microsoft Office (VSTO) - Microsoft Office-Programmierung mit .NET und C# oder Visual Basic in Visual Studio
 Parallelprogrammierung mit .NET (Multi-Threading/Multi-Tasking) - mit C#/Visual Basic und/oder C++
 C# für Umsteiger von Visual Basic .NET
 Objektorientierte Programmierung (OOP) mit C#, Java, C++, Visual Basic.NET o.ä.
 Visual Basic .NET für Umsteiger von VBA/VB 4/5/6
 Visual Basic 2005 (Visual Basic 8.0)
 C# für Umsteiger von klassischem Visual Basic/COM
 Das Component Object Model - für Script- und Visual Basic-Entwickler
 .NET-Programmierung im SQL Server (SQLCLR) - Common Language Runtime (CLR)-Integration in SQL Server
 Language Integrated Query (LINQ)
 .NET-Überblick für .NET-Einsteiger und .NET-Entscheider (wahlweise für .NET und/oder .NET Core)
 Windows Scripting
 .NET und COM nutzen in der Windows PowerShell
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
 Von ASP.NET 1.1 nach ASP.NET 2.0: Neuerungen in ASP.NET 2.0
 Task Parallel Library (TPL) - Parallelprogrammierung/Multi-Threading in .NET/C#
 .NET im Überblick
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren (4-Tages-Agenda des öffentlichen Seminars)
 Universal Windows Platform (UWP) Apps entwickeln (Windows 10 Apps erstellen)
 Microsoft Access - Entwicklung von Datenbanklösungen
 Windows Presentation Foundation (WPF) - Basiswissen
 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 (Kindle)
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (Kindle)
 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