Email-Programm aus Applet öffnen

AmunRa

Gesperrter Benutzer
Hallo ich hab ein Applet geschreiben, dass aus einer Liste die Email-Addressen der von Personen liest, und nun möchte ich, dass wenn ich auf einen Button klicke, das Email-Programm sich öffnet und die Addresse in der Addresszeile steht. Dazu hab ich bisher immer folgenden Befehl verwendet

Java:
this.getAppletContext().openDocument("mailto:test@test.com");

Dies geht aber seit einiger Zeit nicht mehr und bricht mit einer SecurityException ab, daher suchte ich nun nach einer Alternative und fand.

Java:
Desktop.getDesktop().mail(URI uri);

doch auch hier blokiert mich der SecurityManager. Ich will aber das Applet nicht signieren, da ich selbst kein Gültiges Zertifikat habe und diese selfsigned sachen teilweise die Leute überfordern.

Weis zufällig jemand wie ich das machen kann, dass ich das Emailprogramm öffnen kann?
 
Also wie ich sehe geht es um die AWTPermission
Code:
java.awt.AWTPermission showWindowWithoutWarningBanner
. kenn vl wer einen Weg wie ich diese einem Applet setzen kann.

Weiters hab ich getestet ( auch wenn ich eh gewusst habe das es nix bringt) ob es vl mit einem JApplet
geht aber auch da der selbe Fehler. Ich hab ja kein Problem, dass der Browser eine Warning oder so anzeigt frei nach dem Moto wollen sie wirklich ein neues Fenster öffnen. Wenn interressiert, kann sich das Applet unter dieser Addresse ansehen

Lehrerteam

edit1: hab jetzt versucht statt Desktop.mail() die Methode Desktop.browse() zu verwenden, was leider ebenfalls wie zu erwarten war nicht funktioniert.
 
Zuletzt bearbeitet:
Das ist ja gerade der Sinn der Sache, das man von einem Applet gewisse Dinge eben nicht kann.
Da wirst du wohl signieren müssen, oder auf diese Funktionalität verzichten.
 
DAs is mir auch bewusst, das es manche Sachen gibt die man nicht kann, die Sache ist eben in diesem Fall die, dass das aber bereits funktioniert hat, und eben erst durch ein Javaupdate nun die Funktion verschwunden ist.

Vl find ich noch eine Lösung.
 
Die Lösung ist eigentlich recht simpel, auch wenn es nicht mit reiem Java geht, sondern man auch noch ein bisschen JavaScript

im Applet wird fogender Code ausgeführt.

Java:
this.getAppletContext().showDocument(new URL("javascript:doMail(\"test@test.com\")"));

und in der HtmlSeite
HTML:
<head>
  <title>Email</title>
  <script type="text/javascript">
    function doMail(addr){
      location.href="mailto:"+addr;
    }
  </script>
</head>

Naja mal sehen wie lange diese Lösung funktioniert. im IE8 bekomme ich zwar eine Warnung, dass ich per JavaScript auf das Email-Program zugreifen möchte, aber dies ist für mich vertretbar. und unter Firefox und Opera wird ohne Problem das Mailprogramm aufgerufen.
 

Neue Themen


Zurück
Oben