eMails versenden mit Java


Einführung

Neben dem senden und empfangen von eMails kann man das SMTP Protokoll auch noch für andere Aufgaben verwenden. Um dies auszuprobieren habe ich eine Klassenbibliothek geschrieben, die das SMTP Protokoll implementiert. Dies ist eigentlich gar nicht so schwer, da man die RFC-Spezifikation 821 nur in Klassen gießen muß.

Für das einbinden von eMail-Funktionalität sollte man diese Implementierung aber nicht verwenden, da von JavaSoft mit der Java Mail API eine Standard-API bereitgestellt wird, die viel komfortabler ist und schon jetzt verschiedene eMail Protokolle unterstützt. Ich habe mir die Dokumentation mal angesehen und würde sagen, daß diese API besser geeignet ist.

Version 2 für Java Version 5 und höher

Version 2 verwendet die ab Java Version 5 verfügbaren Generics für Klassen wie Vector, Iterator und ähnliche. Somit treten die lästigen Warnungen beim compilieren nicht mehr auf und die Implementierung wird Typesicher. Die folgende Tabelle enhält die Archive mit den Quellfiles und den Binarys:

Datei

Größe

Inhalt

LongMail_src_2_0_Alpha.zip 76.496 Byte
  • Quellfiles des Paketes de.longsoft.comm.email Version 2.0 Alpha.
  • Quellfiles des Paketes de.longsoft.comm.smtp Version 2.0 Alpha.
  • Quellfiles des Paketes de.longsoft.Utilities Version 2.0.
  • Quellfiles des Paketes de.longsoft.LongMail mit einem kleinen Testprogramm das diese Pakete verwendet und eMails verschickt.
LongMail_bin_2_0_Alpha.zip 62.321 Byte jar-Dateien mit den compilierten Klassen.

Zum selbst erzeugen gibt es zwei Möglichkeiten:

  1. Arbeiten mit einer IDE (z.B. Eclipse)
    In der IDE zwei neue Projekte erzeugen, eins für LongMail_2_0 und eins für Utilities_2_0. Alle Quellfiles inclusive Verzeichnisse in die src-Verzeichnisse der Projekte aufnehmen. In den Projektabhängigkeiten von LongMail_2_0 das andere Projekt eintragen. Für den Test die Klasse de.longsoft.LongMail.LongMail als main class eintragen. Compilieren und Starten.
  2. Arbeiten mit Ant
    Folgende Verzeichnisstruktur erzeugen:
    ./--+ release
          + debug
          + LongMail
                + src
                + bin
    Das Archiv mit den Quellen in das src-Verzeichnis auspacken inclusive der in den zip-Files enthalten Pfade. Nacheinander in die vier Verzeichnisse mit den Quellfiles wechseln und 'ant release' aufrufen. Im bin-Verzeichnis werden die kompilierten Klassen abgelegt und im release-Verzeichnis die fertigen jar-Dateien. Ins release-Verzeichnis wechseln und Testprogramm mit

    'java -jar LongMail_2_0.jar'

    starten.

Und dann erscheint folgendes kleines Programm:

Mit JavaDoc kann eine HTML-Beschreibung des package erzeugt werden.

Version 1 für Java bis Version 1.4.x

Version 1 die nicht Typsichere Version bei Klassen wie Vector und Iterator wie sie für Java bis Versin 1.4.x üblich waren. Beim Kompilieren unter Java ab Version 5.0 treten jede Menge Warnungen auf. Die folgende Tabelle enhält die Archive mit den Quellfiles und den Binarys:

Datei

Größe

Inhalt

LongMail_src_1_0_1.zip 76.468 Byte
  • Quellfiles des Paketes de.longsoft.comm.email Version 1.0.1.
  • Quellfiles des Paketes de.longsoft.comm.smtp Version 1.0.1.
  • Quellfiles des Paketes de.longsoft.Utilities Version 1.2.
  • Quellfiles des Paketes de.longsoft.LongMail mit einem kleinen Testprogramm das diese Pakete verwendet und eMails verschickt.
LongMail_bin_1_0_1.zip 56.193 Byte jar-Dateien mit den compilierten Klassen.

Zum selbst erzeugen gibt es zwei Möglichkeiten:

  1. Arbeiten mit einer IDE (z.B. Eclipse)
    In der IDE zwei neue Projekte erzeugen, eins für LongMail_1_0 und eins für Utilities_1_2. Alle Quellfiles inclusive Verzeichnisse in die src-Verzeichnisse der Projekte aufnehmen. In den Projektabhängigkeiten von LongMail_1_0 das andere Projekt eintragen. Für den Test die Klasse de.longsoft.LongMail.LongMail als main class eintragen. Compilieren und Starten.
  2. Arbeiten mit Ant
    Folgende Verzeichnisstruktur erzeugen:
    ./--+ release
          + debug
          + LongMail
                + src
                + bin
    Das Archiv mit den Quellen in das src-Verzeichnis auspacken inclusive der in den zip-Files enthalten Pfade. Nacheinander in die vier Verzeichnisse mit den Quellfiles wechseln und 'ant release' aufrufen. Im bin-Verzeichnis werden die kompilierten Klassen abgelegt und im release-Verzeichnis die fertigen jar-Dateien. Ins release-Verzeichnis wechseln und Testprogramm mit

    'java -jar LongMail_1_0.jar'

    starten.

Und dann erscheint folgendes kleines Programm:

Mit JavaDoc kann eine HTML-Beschreibung des package erzeugt werden.


© Ralf Lange, longsoft Dresden
Kommentare und Anregungen: Webmaster Formular- letzte Änderung: 2008-07-06
Java und alle Java basierten Schutznamen und Logos sind Schutzmarken oder registrierte Schutzmarken von Sun Microsystems, Inc. in den USA und in anderen Ländern. Alle anderen erwähnten Firmen- und Produktnamen sind Schutzmarken oder registrierte Schutzmarken des jeweiligen Herstellers.