# Versenden einer MIME-Datei per E-Mail [solved]



## rapt0r (12. Aug 2009)

Hallo Forum,

ich habe nun etwas gegoogelt und leider nichts zum Thema gefunden:

Mein Programm erstellt eine MIME-Datei die in etwa so aussieht (Multipurpose Internet Mail Extensions ? Wikipedia)


```
From: absender@example.com
To: empfaenger@example.com
Subject: der Betreff der Nachricht
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="example-1"

--example-1
Content-type: text/plain; charset=utf-8
Hier steht der Text dieser Beispielnachricht.
--example-1
Content-type: image/gif; name="bild.gif"  (Art der Nachricht, z. B. Klartext, Bilder, Videos etc.)
Content-Transfer-Encoding: base64  (Hier wird das verwendete Codierungsverfahren angegeben)

R0lGODlhIgFGAOYAAABmmYCruf///zCIpa/S3QCZzECZtgCNvN/p7CB3lKDDzmCZrACGsxB2
…
--example-1--
```

Diese Datei möchte ich nun über ein Java-Programm an einen SMTP-Gateway weiterleiten damit dieser die Datei dann versendet. Leider habe ich keine Ahnung wie ich das anstellen soll.
Die Klassen rund um javax.mail habe ich schon untersucht. Leider liegt diese Klasse eine Schicht über dieser MIME-Geschichte und ich müsste die Mail Schritt- für Schritt zusammen basteln.

Hat jemand eine Idee wie ich so eine MIME-Datei per SMTP versenden kann?

Bin um jeden Tipp dankbar.


----------



## sparrow (12. Aug 2009)

Was genau ist denn jetzt das Problem?
Die Kommunikation mit dem SMTP-Gateway/Server?
Wie du die Daten nach Base64 kodierst?
Oder alles?


----------



## rapt0r (12. Aug 2009)

Hi sparrow,

das Problem ist wie ich die Mime-Datei an den SMTP bekomm.
Also "Die Kommunikation mit dem SMTP-Gateway/Server"


----------



## sparrow (12. Aug 2009)

Ab hier: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 18.7 Mit dem Socket zum Server


----------



## madboy (12. Aug 2009)

Das hier sollte helfen: MimeMessage (JavaMail API documentation)
Damit liest du eine .eml-Datei (so jedenfalls sieht dein Beispiel aus) ein bzw. erstellst daraus eine MimeMessage, die du dann über die MailAPI versenden kannst.

EDIT: wieder was gelernt... Dachte, das Format heißt eml, ist aber wohl nicht so ;-) Sollte also heißen: 
Damit liest du einen InputStream ein, der im MIME-Format vorliegt bzw. erstellst daraus eine MimeMessage, die du dann über die MailAPI versenden kannst.


----------



## rapt0r (13. Aug 2009)

Vielen Dank.

Das mit MimeMessage scheint das zu sein was ich suche.


----------

