# Applet mit der Java Mail-API



## Gast (19. Jul 2006)

Hallo nette Java-Gemeinde,

ich bräuchte dringend Hilfe bei dem vervollständigen eines kleine web-projektes das ich selber wegen mangelnder java kenntnisse nicht lösen kann...
Ich lerne jetzt tatsächlich schon seit 2 Jahren Java in der Schule und muss leider eingestehen, dass wir noch nie eine web-anwendung geschrieben haben. Jetz bin ich gerade bei der Arbeit als Ferialpraktikant und beschäftige mich schon seit längerem mit dem folgendem Problem:
 :### 
Ich soll eine kleine Java anwendung schreiben die sich ohne Probleme in jeden html code einbinden lässt und damit vorallem plattform-unabhängig ist. Das Programm soll fürs erste einfach nur so in der Art ein Kontakt-Formular sein, naja mit dem man halt die firma kontaktieren kann (so wie man es von vielen HP's kennt, nur eben in java). Später wäre es dann auch noch toll wenn das Programm einen Anhang mitverschicken kann, dass z.b. der user ein bild uploaden kann und dann gleich mitverschickt.

Gut, dazu habe ich mir gedacht ein Java applet zu schreiben, und die java mail api zu verwenden um plattform unabhängig zu bleiben (also ned über das DOS-konsolen ding). Hmm.... ok ich liste einfach einmal die Probleme auf auf die ich dabei gestoßen bin....

1. der user soll nicht die mail api downloaden und installieren müssen, d.h. die archive mail.jar und activation.jar müssen auf dem server liegen und das applet muss die klassen vom server laden können. kA wie ich das machen kann....

2. lässt das applet bzw. die VM oder was weis ich anscheinend nicht zu, die methode Transport.send(Message msg) auszuführen...

3. lässt das applet bzw. die VM oder was weis ich natürlich nicht zu einen Filedialog zu öffen, um eine datei für den anhang auszuwählen...

...
So, das war meine kurze Geschichte, ich hoffe ihr hattet Spaß beim lesen und vielleicht wenn ihr mir helfen könnt wäre ich euch sehr sehr bzw. äußerst extrem glücklich und freundlich verbunden!! :roll: 

PS: ich erforsche bereits seit Tagen die unendlichen weiten des google universums um dieses Problem zu lösen und es hat mich Stunden, wenn nicht sogar Tage gekostet den Mut aufzubringen hier mein Schicksal zu posten, d.h. ich bin DANKBAR FÜR JEDEN HINWEIS!!


----------



## Gast (19. Jul 2006)

Sry, was vlt noch wichtig sein könnte ist was bis jetzt einmal funktioniert...

Ich kann bereits eine email mit der java mail api verschicken, unter der bedingung vorher eine verbindung mit dem pop3 server herzustellen (ich habe die jar archive zu dem netbeans projekt hinzugefügt, also rechts klick aufs projekt > properties > libaries >...). Das Problem ist, wenn ich jetzt die .class datei in einem browser lade, zeigt er mir das applet nicht an (die html datei beinhaltet keinen fehler, es funktioniert nämlich wenn ich die mail methoden weglasse), ich nehme an das liegt daran dass er die klassen von der mail api nicht findet oder dass ein applet einfach keine externen libaries laden darf, das weis ich nicht.

Wenn ich jetz das ganze auf den server lade, also zusammen mit dem mail.jar, activation.jar, dem Applet.class und der html datei gehts leider immer noch ned, das wird wahrscheinlich nicht so einfach gehen wie ich mir das vostelle...

Hmm... was kann ich noch sagen... naja ich habs mit Applet und JApplet probiert und natürlch fürs applet keine swing komponenten verwendet.

Sry ich weis da haben sich jetzt schon einige fragen und probleme angehäuft aber zuerst mal eine generelle frage... ist das alles eigentlich überhaupt so realisierbar wie ich/bzw. die Firma sich das vorstellt?

DANKE IM VORAUS für hilfreiche Antworten!  :toll:


----------



## foobar (19. Jul 2006)

Ein Mailclient in einem Applett? Wofür? Benutz doch mail me oder schick die Daten an einen Server der dann eine Mail verschickt.



> 1. der user soll nicht die mail api downloaden und installieren müssen, d.h. die archive mail.jar und activation.jar müssen auf dem server liegen und das applet muss die klassen vom server laden können. kA wie ich das machen kann....


Das macht keine Sinn. L



> 2. lässt das applet bzw. die VM oder was weis ich anscheinend nicht zu, die methode Transport.send(Message msg) auszuführen...
> 
> 3. lässt das applet bzw. die VM oder was weis ich natürlich nicht zu einen Filedialog zu öffen, um eine datei für den anhang auszuwählen...


Du mußt das Applett signieren. Benutz mal die Suche.


----------



## Gast (19. Jul 2006)

Aha, ja danke mal soweit, aber so weit ich weis is es ja so...

es gibt server die microsoft unterstützen (mit ASP) und server die die open source gemeinde unterstützen (mit PHP), d.h. man kann das ganze entweder in php oder in asp schreiben, so weit so gut. Die firma, die auch web-design anbietet, möchte jetz gerne (damit ich was zu tun habe) von mir ein kleines java applet dass sie server-unabhängig in ihre hompages einbauen können (also dass sie ned extra für jeden kunden der einen anderen server hat was eigenes machen müssen, glaub ich halt).

Danke trotzdem für die antwort, kannst du oder ein anderer/andere (wollen wir ja nicht ausschließen) mir trotzdem noch einen tipp geben, oder funktioniert das ganze sowieso ned so wie die sich das vorstellen?


----------



## Guest (19. Jul 2006)

PS: Danke für deine schnelle Antwort!  :toll:


----------



## foobar (19. Jul 2006)

Also willst du die Mails doch serverseitig versenden? Was denn jetzt? Es gibt viele Möglichkeiten z.b. auf der Serverseite ist ein Webservice der Mails versenden kann und das Applett schick einfach einen Request an den Webservice.


----------



## Gast (19. Jul 2006)

kA ob das serverseitig is oder ned, das programm soll einfach nur eine email wenn möglich mit einem zusätzlichen anhang verschicken. Wie ich das am besten lösen kann würde mich ja interessieren


----------



## Gast (19. Jul 2006)

Nach reichlicher Zeit an Überlegungen hab ich verstanden wie du das gemeint hast. Aber wie kann ich so einen request senden? 

Danke im Voraus


----------



## foobar (19. Jul 2006)

Zuerst brauchst du einen Webservice, dann kannst du aus dem Applett eine entfernte Methode aufrufen.
Guck dir mal Axis an: http://ws.apache.org/axis/

Es muß nicht gleich SOAP sein, du könntest das alles auch per Sockets, RMI, XML-RPC oder was auch immer lösen. Viele Wege führen nach Rom ;-)


----------



## Gast (19. Jul 2006)

DANKE für den Tipp!! Ich werde mir das mal durchlesen und schauen ob ich mir daraus was basteln kann...


----------

