Email versenden ueber Applet

KennYblu3

Mitglied
Hi,

ich hab eine kleines Programm geschrieben, das als Applet lauft. Die Anwendung nimmt Daten auf und verschickt sie dann an eine Email Adresse. Solange ich es in Eclipse ausführe, funktioniert es 1A.
Wenn ich das applet dann in HTML einbinde, seh ich zwar das applet und kann Daten einfugen. Leider kommt die Email aber nicht mehr an. Woran kann das liegen ?

Das Programm besteht aus 3 Klassen, Auftrag, SendMail, VerAnfrageApplet.
Inder HTML Datei gebe ich aber nur die VerAnfrageApplet.class an ist das der Fehler ?

Die HTML Datei sieht so aus:


HTML:
<html><body> 
<applet code="vermietung/VerAnfrageApplet.class" name="applet1" height="300" width="450"> 
</applet> 
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:

KennYblu3

Mitglied
Was mir aufgefallen ist , das Action event nachdem ich auf den "Send" button druck wird garnicht ausgelöst.

Java:
send.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				
				
				kundenVorName_JTextArea.setText("TEST");
				job = new Auftrag(anrede, boot , kundenVorName_JTextArea.getText(), kundenNachName_JTextArea.getText(), datumVon_JTextArea.getText(), datumBis_JTextArea.getText(), email_JTextArea.getText(), telefonHome_JTextArea.getText(), telefonMobile_JTextArea.getText());
				//job.abschicken();
				//sendDone();
				
				
			}
		});



wenn ich es in Eclipse ausfuhre gehts, im Browser reagiert er nicht mal auf kundenVorName_JTextArea.setText("TEST"); woran liegt das , das im Applet nicht auf des event reagiert wird =?
 

L-ectron-X

Gesperrter Benutzer
Was dürfen Applets u.a. nicht?

Richtig! Sie dürfen sich mit keinem anderen Server als dem Server verbinden, von dem sie auch heruntergeladen wurden.
Wenn du in deine Java-Konsole schaust, wirst du dort wahrscheinlich eine AccessControlException finden.

Jetzt kannst du dir überlegen, ob du lieber das E-Mail mit PHP versendest, also die Daten aus dem Applet an ein PHP-Skript übergibst, das Applet signierst (FAQ) oder das Applet vielleicht ganz und gar durch ein PHP-Skript ersetzt.
 

KennYblu3

Mitglied
Das wurde ja heisse, wenn ich das teil bei strato auf den ftp leg. und die mail von smtp.strato.de verschickt wird müssten es ja dann gehen oder ? :)
 

KennYblu3

Mitglied
Ich hab die .class und html datei auf einem strato Ffp server abgelegt. Das Applet verschickt die email ueber smtp.strato.de . Jetzt bekomm ich aber ueber die Konsole folgenden Fehler :


Java:
Java Plug-in 1.6.0_24
Verwendung der JRE-Version 1.6.0_24-b07 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = C:\Users\Lukas
----------------------------------------------------
c:   Konsole löschen
f:   Objekte in Finalisierungswarteschlange finalisieren
g:   Speicherbereinigung
h:   Diese Hilfemeldung anzeigen
l:   ClassLoader-Liste ausgeben
m:   Speicherbelegung anzeigen
o:   Protokollierung auslösen
q:   Konsole ausblenden
r:   Richtlinien-Konfiguration neu laden
s:   System- und Bereitstellungseigenschaften ausgeben
t:   Threadliste ausgeben
v:   Thread-Stack ausgeben
x:   ClassLoader-Cache löschen
0-5: Trace-Stufe auf <n> setzen
----------------------------------------------------
Exception in thread "AWT-EventQueue-3" java.lang.NoClassDefFoundError: javax/mail/Authenticator
	at vermietung.Auftrag1.abschicken(Auftrag1.java:43)
	at vermietung.VerAnfrageApplet$1.actionPerformed(VerAnfrageApplet.java:114)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.mail.Authenticator
	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 37 more
 

L-ectron-X

Gesperrter Benutzer
Es sieht so aus, als ob abhängige Klassen fehlen. Der Interpreter benötigt noch eine Klasse javax.mail.Authenticator, die du in deinem Programm benutzt hast. Diese Klasse muss ebenfalls auf dem Webspace liegen.
Da es sich beim Paket javax.mail um ein externes Package handelt, also ein Package, welches nicht in der Standard-Java-API enthalten ist, muss das Package java.mail gemeinsam mit deinem Applet ausgeliefert werden.
 

dehlen

Bekanntes Mitglied
Ja hatte das Problem auch mal so ähnlich muss entweder wie L-ectron-X sagt signieren dazu gibt ne bat in der FAQ
oder du machst einfach aus dem Applet ein JFrame und dann ne .jar Datei, da die auch genug Rechte haben
 

L-ectron-X

Gesperrter Benutzer
oder du machst einfach aus dem Applet ein JFrame und dann ne .jar Datei
Das können wir aber so nicht stehen lassen. Eine Jar-Datei und ein JFrame haben beide nicht implizit die Berechtigung, potenziell gefährlichen Code auszuführen.

Du meinst sicher, er soll aus seinem Applet eine Applikation machen, die dann auf dem Desktop die Rechte zum Versenden einer E-Mail hat.

Dein Vorschlag wäre OK, wenn das Programm nicht im Internet laufen soll...
 

dehlen

Bekanntes Mitglied
Das können wir aber so nicht stehen lassen. Eine Jar-Datei und ein JFrame haben beide nicht implizit die Berechtigung, potenziell gefährlichen Code auszuführen.

Du meinst sicher, er soll aus seinem Applet eine Applikation machen, die dann auf dem Desktop die Rechte zum Versenden einer E-Mail hat.

Dein Vorschlag wäre OK, wenn das Programm nicht im Internet laufen soll...

Achso ok ja das hatte ich gemeint aber dann bleibt dem TO wohl nichts anderes übrig als zu signieren
 

Ähnliche Java Themen

Neue Themen


Oben