|
Home - Programmieren - Visual Basic - E-Mails empfangen und senden mit VB und MAPI
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Einleitung Visual Basic stellt uns für den Empfang und Versand von E-Mails zwei einfach zu benutzende Steuerelemente zur Verfügung, die unter dem Begriff MAPI (Messaging Application Programming Interface) zusammengefasst werden. Nachfolgend eine Übersicht über die Funktionsbereiche beider Steuerelemente:
MAPI-Steuerelemente in die Entwicklungsumgebung einfügen Um die beiden MAPI-Steuerelemente in die Entwicklungsumgebung einzufügen, müssen wir wie folgt vorgehen:
Eine MAPI-Sitzung aufbauen Wir positionieren zunächst je eine Instanz der beiden MAPI-Steuerelemente auf dem Formular. Wir werden anfangs erst einmal nur dem MAPISession-Steuerelement Beachtung schenken. Für den Aufbau einer MAPI-Sitzung brauchen wir zwei Dinge - den Benutzernamen und das dazugehörige Passwort. Beide Eigenschaften können Sie bequem über die Entwicklungsumgebung einstellen. Dazu wählen Sie im Eigenschaftenfenster UserName und Password aus und setzen die gewünschten Werte. Wir wollen dem Benutzer aber die Möglichkeit geben, selbst diese Werte einzutragen, da unser Programm dadurch sehr viel flexibler wird. Daher fügen wir zwei Textboxen und zwei Labels ein. Die erste Textbox nennen wir txtUser, die zweite bekommt den Namen txtPassword. Das Formular sollte nun ungefähr wie folgt aussehen: Um nun den Anmeldevorgang durchzuführen müssen wir folgende Codezeilen einfügen. Vorher platzieren wir natürlich noch einen CommandButton mit dem Namen cmdSignOn und der Bezeichnung "Anmelden" (Eigenschaft Caption) auf dem Formular.
Zuerst weisen wir den Eigenschaften UserName und Password des MAPISession-Steuerelements die vom Benutzer eingegebenen Werte zu. Danach versuchen wir uns mit diesen Daten anzumelden. Sollte dies fehlschlagen, wird eine Fehlermeldung ausgegeben. Es ist zu beachten, dass dem Anwender keine genaue Fehlermeldung ausgegeben wird, sodass er keine Rückschlüsse auf evtl. Sicherheitslücken ziehen kann. Würde z. B. die Meldung "Falsches Passwort!" ausgegeben werden, wüsste ein bösartiger Angreifer, dass der Benutzername existiert und braucht nur noch das Passwort zu erraten. Ist die Anmeldung erfolgreich, werden die beiden MAPI-Steuerelemente über die SessionID-Eigenschaft miteinander verbunden. Danach wird die Prozedur FetchMails aufgerufen, die alle E-Mails aus dem Posteingang abholt und die wir im nächsten Abschnitt entwickeln werden. Alle E-Mails aus dem Posteingang abholen Da wir nun eine Verbindung zum MAPI-Server aufgebaut haben, können wir alle E-Mails des Posteingangs auflisten. Dazu fügen wir eine ListBox (lstMails) und weitere Schaltflächen hinzu. In der Entwicklungsumgebung sollte das Programm nun wie folgt aussehen: Hier die Prozedur FetchMails, die alle eingetroffenen E-Mails mit Betreff, Absenderadresse, Empfangszeit und Anzahl der Anlagen anzeigt:
Der Aufruf der Fetch-Methode bewirkt, dass die E-Mails vom Server abgerufen werden. Danach gehen wir in einer Schleife alle Nachrichten durch und tragen alle relevanten Informationen über eine einzelne E-Mail in die Liste ein. E-Mails lesen Jetzt haben wir alle E-Mails abgerufen und können in der Liste eine Nachricht auswählen, die wir uns näher ansehen möchten. Zunächst fügen wir aber eine neue TextBox ein, die den Namen txtMailText erhält und deren Eigenschaft Multiline wird auf True setzen. Durch Klick auf die Schaltfläche mit der Beschriftung Lesen (cmdReadMail) wird der komplette Inhalt der Nachricht auf dem Bildschirm angezeigt.
Wählen wir nun eine beliebige E-Mails aus und klicken auf die Schaltfläche Lesen, wird uns der komplette Inhalt der Mail angezeigt. Um unser Programm zu vervollständigen fehlt nun nur noch eine Funktion zum Versand von eigenen E-Mails. Wie das geht erfahren Sie im nächsten Abschnitt. E-Mails schreiben Das Versenden von eigenen E-Mails aus einem VB-Programm heraus ist sehr einfach. Wir müssen einfach nur die Eingabemaske des durch MAPI angesprochenen Mail-Systems (in diesem Fall Outlook) aufrufen. Um diese Funktionalität in unserem Programm zur Verfügung zu stellen, schreiben wir folgenden Quelltext für die Schaltfläche Schreiben (cmdWriteMail):
Wie gesagt, das Verschicken einer Nachricht aus VB heraus ist sehr einfach. Mit zwei Codezeilen können wir die komplette Funktionalität für dieses Feature implementieren. Mit der Compose-Methode des MAPIMessage-Steuerelements wird eine neue leere E-Mail erstellt. Durch Aufruf der Send-Methode und des Parameters True wird eine Eingabemaske angezeigt (s.o.). Der Benutzer braucht nun nur noch den Empfänger, Betreff und Nachrichtentext eingeben und kann die E-Mail dann mit einem Klick auf Senden abschicken. MAPI-Sitzung beenden Um eine aktuelle Sitzung zu beenden, brauchen wir nur die SignOff-Methode des MAPISession-Steuerelements aufzurufen. Das darunter liegende Mail-System erledigt dann alle Arbeiten, um die Verbindungen zwischen Mail-Server und Programm zu trennen.
Zusammenfassung Natürlich lässt sich mit beiden Steuerelementen noch viel mehr anstellen. Im Rahmen dieses Artikels haben wir nur die Grundlagen der MAPI-Programmierung besprochen. Mit dem erlangten Wissen, sollten Sie nun in der Lage sein, einfache E-Mail Funktionen in ihre Programme einzubauen, um z. B. ein Feedback-Formular für ihre Kunden zur Verfügung zu stellen. Zusammenfassend können Sie mit der Nutzung von MAPI folgende Möglichkeiten ausschöpfen:
|
Autoren:04150
Artikel:00819 Glossar:04124 News:13569 Userbeiträge:16268 Queueeinträge:05150
Projektsteuerung statt Anwesenheitskontrolle
MONDroid - your monitoring Solution for Android with PRTG-Support Red-Hosting jetzt mit erweitertem Shop-Webhosting-Angebot [Mehr News]
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|