Zuerst müsste ich wissen, mit welcher API du arbeitest? Im Code kommt nirgends die Definition von mail vor.

Für e-Mail mit mehreren Anhängen benötigt man eine MultipartMessage. Damit die Anhänge richtige verpackt werden, muss man das mit Mimetypes tun. Java erkennt im Normalfall aufgrund der Extension den richtigen Mimetype (activation.jar).

Ich arbeite mit der Sun Mail-API. Ich habe mir diese zusammen mit meinen Extras (speichern in "Gesendete Nachrichten"...) in einem JavaBean abgelegt.

Hier ein paar Codeschnippsel:

Hier mal ein einzelnes Attachment über den DataHandler:
Code:
public void setSingleAttachment(String fileName, String displayName)
                                         throws MessagingException {

        FileDataSource fds = new FileDataSource(fileName);
           msg.setDataHandler(new DataHandler(fds));
        msg.setFileName(displayName);
        this.mimeMultiPart = false;
    }
Hier die Multipartvariante:
Code:
    public void addAttachment(String fileName, String displayName)
                                         throws MessagingException {
        MimeBodyPart mbpx = new MimeBodyPart();

        FileDataSource fds = new FileDataSource(fileName);
           System.out.println(fds.getContentType());
        mbpx.setDataHandler(new DataHandler(fds));
        mbpx.setFileName(displayName);

        mp.addBodyPart(mbpx);
    }
Definitionen:
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

protected Message msg;
protected Multipart mp;

Das Senden geht dann so (Auszug):
Code:
if (mimeMultiPart) {
    msg.setContent(mp);
}
msg.setSentDate(new Date());

Transport.send(msg);
Robert P.