E-Mail Client öffnen und Mail vorbereiten mit Java 6

Thomas Darimont

Erfahrenes Mitglied
Hallo,

hier mal ein Beispiel wie man mit Java 6 den standard E-Mail Client öffnen und eine Mail vorbereiten kann:
Java:
/**
 * 
 */
package de.tutorials;

import java.awt.Desktop;
import java.net.URI;

/**
 * @author Tom
 * 
 */
public class PrepareMailWithAttachmentExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            Desktop
                    .getDesktop()
                    .mail(
                            new URI(
                                    "mailto:gugu@gaga.de?subject=someSubject&cc=aa@bb.cc,dd@dd.ds&bcc=x@y.zz&body=someBodyText"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

Gruß Tom
 
Hallo,

ich habe noch eine Frage dazu: Besteht auch die Möglichkeit automatisch Anhänge der Mail hinzuzufügen


Vielen Dank,

littletigger
 
Du kannst ein
&attachment=dateipfad

an die URL anhängen. Das geht allerdings wohl nicht mit allen Mailclients. Kannst ja mal testen.
 
Auf der Suche nach einem Weg, aus java heraus eine Email mit dem Standard-Client zu senden, bin ich auf diese Seite gestossen. Das umschriebene Verfahren funktioniert soweit auch, nur das Versenden von Anhängen nicht! Nach langer Recherche im Internet habe ich auch den Grund hierfür gefunden (den ich hier - auch wenn der Thread einige Jahre alt ist - poste, um so anderen Lesern die mühselige Recherche danach zu ersparen ;)):

&attachment=dateipfad
ist falsch, richtig muss es lauten:
&Attach=dateipfad

(siehe auch:
http://weblogs.asp.net/jgalloway/archive/2007/02/24/sending-files-via-the-default-e-mail-client.aspx)

Hier passend dazu ein Beispiel, wie man mit Java 6 den standard E-Mail Client öffnen und eine Mail mit Anhang vorbereiten kann:



import java.awt.Desktop;
import java.net.URI;
import java.net.URLEncoder;


public class MailWithAttachment2StandardClient{

public static void main(String[] args) {
String body="some BodyText\nand more text\n\n";
String subject="some Subject";
try {
body=URLEncoder.encode(body, "UTF-8");
subject=URLEncoder.encode(subject, "UTF-8");
Desktop
.getDesktop()
.mail(
new URI(
"mailto:a@a.de.de?subject="+subject+"&cc=a@a.de&bcc=a@a.de&body="+body+"&Attach=c://test/test.doc"));

} catch (Exception e) {
e.printStackTrace();
}
}

}
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück