# JavaMail Anhang senden



## delphiking1980 (8. Nov 2010)

Hallo,

ich würde gerne mit JavaMail einen Dateianhang senden.
Meine Herrausforderungen:

Ich generiere mir eine Zipdatei mit einem ZipOutputStream. Nur leider muss ich da einen echten Dateinamen angeben und dieses klappt ja bekanntlich in einem Container nicht. Wie kann ich jetzt eine Zip Datei erstellen und diese als Dateianhang per JavaMail senden ?

Mfg

D.


----------



## XHelp (8. Nov 2010)

Du kannst ja DataSource implementieren, wo du im Konstruktor einen InputStream reingibst, aber die Daten intern in der Klasse als byte[] speicherst.


----------



## Der Müde Joe (8. Nov 2010)

>eine Zipdatei

File?

MimeBodyPart#attachFile(), geht sowohl mit file als auch mit string (dateinamen)

(oder versteh ich was falsch?)


----------



## delphiking1980 (9. Nov 2010)

Nehme jetzt kein ZipFile mehr sondern ein "Normales" Textfile.

Das Funktioniert folgendermaßen

Ich habe ein Objekt MailAttachment mit Dateiname als String und die Datei als byte[].


```
if (files != null) {
	for (int f_index = 0; f_index < files.size(); f_index++) {
		MailAttachment anhang = (MailAttachment) files.get(f_index);
		MimeBodyPart panhang = new MimeBodyPart();
		DataHandler dh = new DataHandler(anhang.getDatei(), "application/sql");
		panhang.setDataHandler(dh);
		panhang.setFileName(anhang.getDateiname());
		multi.addBodyPart(panhang);
	}
}
```

Als nächstes wird der MimeType noch dem MailAttachment hinzugefügt damit man mehr als nur *.sql Dateien hinzufügen kann.

Das ganze funktioniert !

Mfg

S.D.


----------

