Start / FAQ / FAQ 0087: Wie kann ich Mails versenden und empfangen?
 
Startseite Up-/Download Tutorials Club Das Team
Rubriken Foren Bücher Tips 'n Tricks Suche


FAQ 0087: Wie kann ich Mails versenden und empfangen?


  Frage

Wie kann ich Mails versenden und empfangen?

Wie kann ich Dateien an meine Mails anhängen?

Wie kann ich einen Zeilenumbruch erzeugen?

Inhalt

Winsock
Standard-Mail-Client
Microsoft Outlook
vbSendMail.dll
Novell GroupWise
Lotus Notes
Visual Basic .NET

  Winsock

Folgende Tipps zeigen, wie man Mails mit Winsock versenden und empfangen kann:

Eine Besonderheit ergibt sich, wenn der SMTP-Server eine Authentifizierung fordert: Der Tipp 0051 kann dies nicht, man muß es ihm beibringen.
Unser gelegentlicher Besucher madmax hat sich bereits die Mühe gemacht und eine entsprechende Klasse geschrieben: ESMTP Klasse (hier ist eine Modifikation mit aufgelösten Abhängigkeiten zu finden).
Hinweis: Die Eigenschaft SMTPHost benennt den Postausgangsserver (also den Server, der die Mail annimmt und an die Empfänger weiterreicht).

Sollen Dateien angehängt werden, so müssen sie geeignet kodiert und in den Text eingefügt werden.
Eine geeignete Kodierung ist eine, bei der kein ASCII-Zeichen unter ASC 32 und über ASC 127 liegt. Dafür bietet sich Base64 an.
Wie man Daten mit Base64 kodiert, zeigt der  Base64-Kodierung [Tipp 0504].
In der zuvor genannten ESMTP Klasse ist diese Funktionalität bereits integriert.

Der Artikel Sending attachments within e-mail messages auf vbip.com zeigt, wie man dies umsetzen kann.

Passend zur SMTP-Klasse durfte bei der Weihnachtsausschreibung 2004 eine POP3-Klasse geschrieben werden. Die POP3-Klasse von Matthias May, der die Ausschreibung gewann, ist im Einsendungsarchiv zu finden.

  Standard-Mail-Client

Möchte man sich nicht vorher auf einen bestimmten Mail-Client festlegen, kann man Windows überlassen, welchen Mail-Client es öffnet.
Wie das geht, zeigt der  Standard E-Mail-Client mit Parametern starten [Tipp 0090]. Zu beachten ist, daß der Tipp nicht funktioniert, wenn auf dem System kein Mail-Client installiert ist.

Ein paar wichtige Informationen (auch zum Zeilenumbruch im Text) finden sich bei SelfHTML:
E-Mail-Verweise

Manche Mail-Clients erlauben auch das Anhängen von Dateien über die Kommandozeile.
Die folgenden Kommandozeilenargumente können bei einigen E-Mail-Programmen zum Anhängen von Dateien genutzt werden. Hier muß man ein wenig testen, es wird aber nicht immer funktionieren:

  • att
  • attach
  • attachment

  Microsoft Outlook

Mit Microsoft Outlook kann man selbstverständlich auch Mails senden und empfangen.
Einen entsprechenden Tipp haben wir nicht, wir können nur ein Tutorial anbieten:
MAPI: Mails senden & empfangen

Problematisch kann dabei das Funktionsmerkmal neuerer Outlook-Versionen werden, welches meldet, wenn eine fremde Software über die Outlook-Bibliothek MAPI versucht, Mails zu senden oder zu empfangen. Outlook Redemption kann hier Abhilfe schaffen.

Ein Artikel zu MAPI in der Microsoft Knowledge Base:
INFO: Updated Mapivb32.bas for Simple MAPI on 32-Bit Platforms

Folgendes wurde von  Udo Schmidt gepostet:
Microsoft Office 2000/Visual Basic Programmer's Guide: Signing a VBA Project

  vbSendMail.dll

Die vbSendMail.dll kann man bei www.freevbcode.com bekommen.
Wie man sie benutzt, zeigt der  E-Mails im HTML-Format mit Attachments versenden [Tipp 0260].

  Novell GroupWise

Bei Novell kann man sich ein Beispiel herunterladen, in dem das Versenden und Empfangen von Mails demonstriert wird.
Der geneigte Softwareentwickler sei aber gewarnt: bei eigenen Tests lief die Demo nur zu etwa 75% zuverlässig. Leider wird der Entwickler bei einem Fehlschlag nicht darauf hingewiesen, Fehlermeldungen werden einfach verschluckt.

  Lotus Notes

Wie man mit Lotus Notes Mails versenden und empfangen kann, zeigt ein Eintrag der FAQ bei www.vbcity.com.

  Visual Basic .NET

VB.NET bietet ebenfalls die Möglichkeit, Mails zu senden:
How To Send E-mail Programmatically with System.Web.Mail and Visual Basic .NET


Erstellt: 07.01.2004
Aktualisierung: 26.07.2010
  Autor: Helge Rex
E-Mail: faq@ActiveVB.de



Copyright © 1998-2010 by ActiveVB
Alle Rechte vorbehalten.