Runtime.getRuntime().exec( email )

MikaM

Mitglied
Hallo User,

ich habe folgende Frage. Vielleicht kann mir jemand helfen! Warum funktioniert der Code unter Pkt. 2. nicht, sobald ich bei "subject" und "body" Leerstellen einfüge? Habe schon "alles" mögliche probiert (z.B. Unicode-Zeichen, html-Code). Testen tue ich mit jre1.5 und Outlook 6. Mit JavaMail ist alles kein Problem, habe ich auch hinbekommen. Muß leider das Outlook aufrufen, da Nutzer das so möchte. Des weiteren, anhängen von Anlagen mit "attachment" geht überhaupt nicht Punkt 3. Geht das überhaupt noch? Habe gelesen, das Microsoft das nicht zuläßt. Für jede Hilfe und Anregung bin ich dankbar. Danke MikaM

1. dieser Code funktioniert
String emailAddress="info@mydomain.de";
String subject = "MeinBetreff";
String body = "MeinBody";
String email [] = new String[] { "rundll32", "url.dll,FileProtocolHandler",
"mailto:" + emailAddress + "?Subject="+subject + "&Body="+body};
Runtime.getRuntime().exec( email );


2. dieser Code funktioniert nicht
String emailAddress="info@mydomain.de";
String subject = "Mein Betreff";
String body = "Mein Body";
String email [] = new String[] { "rundll32", "url.dll,FileProtocolHandler",
"mailto:"+ emailAddress + "?Subject="+subject + "&Body="+body};
Runtime.getRuntime().exec( email );


3. mit attachment
File f = new File("c:\\Test.txt");
String emailAddress="info@mydomain.de";
String subject = "MeinBetreff";
String body = "MeinBody";
String email [] = new String[] { "rundll32", "url.dll,FileProtocolHandler",
"mailto:"+ emailAddress
+ "?Subject="+subject + "&Body="+body
+ "&Attachment=\""+f.getAbsolutePath()+"\""};
Runtime.getRuntime().exec( email );
 
Danke dir erst einmal für die schnelle Antwort. habe folgendes mit "subject" ausprobiert und beides funktioniert nicht. Habe aber bis jetzt auch noch kein Beispiel gefunden, wo das dokumentiert ist.

String emailAddress="info@mydomain.de";
String subject = "Mein Betreff\"";
String body = "MeinBody";
String email [] = new String[] {
"rundll32", "url.dll,FileProtocolHandler",
"mailto:"+ emailAddress
+ "?Subject="+subject
+ "&Body="+body};
Runtime.getRuntime().exec( email );

String emailAddress="info@mydomain.de";
String subject = "\"Mein Betreff\"";
String body = "MeinBody";
String email [] = new String[] {
"rundll32", "url.dll,FileProtocolHandler",
"mailto:"+ emailAddress
+ "?Subject="+subject
+ "&Body="+body};
Runtime.getRuntime().exec( email );
 
... hat funktioniert. Das JavaBlogBuch ist der Denkanstoß und sehr interessant. Wird meine Lektüre! Habt Ihr noch 'ne Idee, was bei dem "Attachment" schief läuft. Trotzdem Danke Dir (Euch) für die Hilfe
 
Schön, wenn dir das Java-Blog-Buch gefällt. Ist aber noch kein vollständiges Buch (wird aber irgendwann mal eins sein, aber das braucht halt Zeit ;) ).

mailto ist eigentlich eine Link-Spezifikation, die in Links auf Websites oder in E-Mail Signaturen oder whatever. Und vom Web aus einen Anhang vom lokalen Computer mitanzuhängen ist wohl nur wenig sinnvoll bis sicherheitskritisch. Von daher denke ich mal, dass das nicht möglich ist und wenn dann nur Outlook-spezifisch (evtl. mit einem Makro in Outlook). Außerdem findet man in der mailto-Spezifikation auch kein Wort über attachment => http://www.ietf.org/rfc/rfc2368.txt
 
Ja das ist korrekt. Attachment wird nicht von allen Programmen unterstützt, da es nicht in der Spezifikation enthalten ist. Ich finds auch ein wenig Sicherheitskritisch.

Such doch hier im Forum mal nach "Outlook Automation". Damit sollte es gehen, wenn auch ein wenig umständlicher. Eventuell gibts aber auch schon fertige APIs die das können.
 

Neue Beiträge

Zurück