Alive3000 Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 hallo, ich schreibe grade für die arbeit einen mailclient, also über eine kontaktseite soll eine mail versendet werden. nun habe ich aber das problem das eclipse mir den error: javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25; nested exception is: java.net.ConnectException: Connection refused: connect ausgibt. Woran könnte das denn wohl liegen. den webserver kann ich auch nicht von meinem rechner aus anpingen. kann das wa sdamit zu tun haben, also das der port nicht freigeschaltet ist für meine ip? oder weiss jemand anderes was da sonst noch falsch sein könnte? meinen quelltext: String smtpHost="25"; String username="username"; String password="passwort"; String antwort="success"; class MailAuthenticator extends Authenticator { private final String user; private final String password; public MailAuthenticator(String user, String password) { this.user = user; this.password = password; } } try { MailAuthenticator auth = new MailAuthenticator(username, password); Properties properties = new Properties(); // Den Properties wird die ServerAdresse hinzugefügt properties.put("serveradresse", smtpHost); // !!Wichtig!! Falls der SMTP-Server eine Authentifizierung // verlangt // muss an dieser Stelle die Property auf "true" gesetzt // werden properties.put("serveradresse", "true"); // Hier wird mit den Properties und dem implements Contructor // erzeugten // MailAuthenticator eine Session erzeugt Session session = Session.getDefaultInstance(properties, auth); try { // Eine neue Message erzeugen Message msg = new MimeMessage(session); // Hier werden die Absender- und Empfängeradressen gesetzt msg.setFrom(new InternetAddress(eMail)); msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse("e-mail", false)); // Die Firma des Senders wird angegeben msg.setText(firma); // Der Name des Absenders wird angegeben msg.setText(name); // Der Betreff und Body der Message werden gesetzt msg.setSubject(nachricht); msg.setText(nachricht); // Datum hinzufügen msg.setSentDate(new Date( )); // Zum Schluss wird die Mail natürlich noch verschickt Transport.send(msg); } catch (Exception e) { e.printStackTrace( ); antwort="failed"; } } catch (Exception ex) { ex.printStackTrace(); } return antwort; } Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Hallo, er versucht sich auf localhost Port 25 zu connecten. Wer ist localhost in dem Fall? properties.put("serveradresse", smtpHost); properties.put("serveradresse", "true"); Ist das richtig? Zwei mal die gleiche Variable mit unterschiedlichen Werten wobei smtpHost bei dir 25 ist. Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 (bearbeitet) wieso auf localhost? bei der serveradresse geb ich ja die ip des mailservers an, oder bin ich wieder zu blöd was zu finden???? Bearbeitet 8. Juli 2008 von Alive3000 haha Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Wo? Also die Fehlermeldung sagt was anderes. Could not connect to SMTP host: localhost, port: 25 Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 ach herje, das ist mir garnicht aufgefallen, aber ich geb für den servernamen eine ip an, wie kann der denn dann auf localhost horchen? Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 (bearbeitet) wie auch immer, ich hab nix geändert und nun bekomme ich java.lang.SecurityException: Access to default session denied ich benutze einen jboss und myfaces. gibt es da irgendeine session die ich benutzen muss, also die vorgefertigt ist? oh man, das bringt mich noch um den verstand EDIT: Also die exception Could not connect to SMTP host: localhost, port: 25 bekomme ich nur wenn ich mein programm im debugg modus teste und die java.lang.SecurityException: Access to default session denied bekomme ich wenn ich meine Seite normal ausführe, also nur den server gestartet hab. sorry das ich quer durch den garten schreibe, aber irgendwie fällt mir immer mehr auf Bearbeitet 8. Juli 2008 von Alive3000 Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Noch mal die Frage. String smtpHost="25"; properties.put("serveradresse", smtpHost); properties.put("serveradresse", "true"); Ist das richtig? Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 uja genau, hab jetzt auch versucht das properties.put("serveradresse", "true"); wegzunehmen, aber funktioniert dann trotzdem nicht Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Und wo und mit welchen Wert setzt Du die Serveradresse? Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 erstmal testweise hab ich sie über der funktion in einem string gespeichert und rufe ihn dann auf, natürlich ohne anführungszeichen Nadine Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 ja genau. der wird in outlook bei uns auch benutzt Nadine Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Was sagt denn jetzt die Fehlermeldung? Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 also nach dem debuggen kommt immer 14:25:05,468 ERROR [STDERR] javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25; nested exception is: java.net.ConnectException: Connection refused: connect 14:25:05,468 ERROR [STDERR] at javax.mail.Transport.send0(Transport.java:218) 14:25:05,468 ERROR [STDERR] at javax.mail.Transport.send(Transport.java:80) 14:25:05,468 ERROR [STDERR] at de.tedata.mdo.server.tmpAlternative.KontaktFAQ.saveKontaktdaten(KontaktFAQ.java:85) 14:25:05,468 ERROR [STDERR] at de.tedata.mdo.common.controller.Controller.saveKontaktdaten(Controller.java:36) 14:25:05,468 ERROR [STDERR] at de.tedata.mdo.jsf.handler.KontaktHandler.kontaktdaten(KontaktHandler.java:23) 14:25:05,468 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 14:25:05,484 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 14:25:05,484 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 14:25:05,484 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source) 14:25:05,484 ERROR [STDERR] at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129) 14:25:05,484 ERROR [STDERR] at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63) 14:25:05,484 ERROR [STDERR] at javax.faces.component.UICommand.broadcast(UICommand.java:106) 14:25:05,484 ERROR [STDERR] at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90) 14:25:05,484 ERROR [STDERR] at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164) 14:25:05,484 ERROR [STDERR] at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316) 14:25:05,484 ERROR [STDERR] at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86) 14:25:05,484 ERROR [STDERR] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106) 14:25:05,484 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 14:25:05,499 ERROR [STDERR] at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:190) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 14:25:05,499 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 14:25:05,499 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) 14:25:05,499 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 14:25:05,499 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 14:25:05,499 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 14:25:05,499 ERROR [STDERR] at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 14:25:05,499 ERROR [STDERR] at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 14:25:05,499 ERROR [STDERR] at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 14:25:05,499 ERROR [STDERR] at java.lang.Thread.run(Unknown Source) und sonst sagt er java.lang.SecurityException: Access to default session denied Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Da steht ja immer noch localhost. Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 ja ich weiss ja nicht wie ich es wegbekommen soll..... ich schreib ja die ip in nen string und wende sie dort an. in meinem quelltext geb ich nirgends an das er über localhost gehen soll, nur hab se natürlich hier nicht reingepackt..... also ich weiss momentan echt nicht merh was ich falsch mache.... kann das vielleicht an der konfiguration des webservers oder wie auch immer liegen. bin schon fast am verzweifeln. Nadine Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Wer ist denn Transport? Frank Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Schau mal da. JavaMail - SMTP authentication with Java Mail API Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 (bearbeitet) so okay, ich hab schonmal den ersten fehler gefunden, properties.put("mail.smtp.host", smtpHost); properties.put("mail.smtp.port", smtpPort); properties.put("mail.smtp.auth", "true"); also der teil musste so heissen, danke das du mich nochmal drauf aufmerksam gemacht hast ob da wirklich beide properties mit den gleichen arguments stehen..... Abaer nun hab ich den Fehler: 14:48:51,795 ERROR [sTDERR] javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.AuthenticationFailedException ich hoffe ich geh dir/euch nicht schon auf den keks Bearbeitet 8. Juli 2008 von Alive3000 Zitieren
robotto7831a Geschrieben 8. Juli 2008 Geschrieben 8. Juli 2008 Du benutzt ein Objekt Transport in deinem Skript. Aber das scheint richtig zu sein wie man bei meinem Link sieht. Frank Zitieren
Alive3000 Geschrieben 8. Juli 2008 Autor Geschrieben 8. Juli 2008 ja nur langsam bin ich genervt, ich seh auch schon den wald vor lauter bäumen nicht. ich hoffe das es bald ein ende hat:) Zitieren
robotto7831a Geschrieben 13. Juli 2008 Geschrieben 13. Juli 2008 Ich habe jetzt mal etwas gesucht. Ist zwar für JSP sollte aber nicht weiter stören. <%@ page import="java.util.*,javax.mail.*,javax.mail.internet.*" %> <% String absender_mail = "absender@provider.de"; String smtpserver = "smtp.server.provider.de"; String empfaenger = "empfaenger@provider.de"; String body = "Hier steht der Text"; try { Properties prop=new Properties(); prop.put("mail.smtp.host",smtpserver); Session s=Session.getInstance(prop); MimeMessage message=new MimeMessage(s); InternetAddress from=new InternetAddress(absender_mail); message.setFrom(from); InternetAddress rcpt=new InternetAddress(empfaenger); message.addRecipient(Message.RecipientType.TO,rcpt); message.setSubject("Internet-Anfrage"); message.setText(body); Transport.send(message); out.println("<p>Vielen Dank für Ihre Nachricht!</p>"); } catch(MessagingException msgexcep) { out.println(msgexcep.getMessage()); } %> [/code] Frank Zitieren
Alive3000 Geschrieben 16. Juli 2008 Autor Geschrieben 16. Juli 2008 danke, ich hab auch den fehler schon gefunden..... ich musste die ganzen properties angeben like: properties.put("mail.smtp.host", smtpHost); properties.put("mail.smtp.port", smtpPort); properties.put("mail.smtp.user", username); properties.put("mail.smtp.password", password); und die athentifizeirung auf false stellen:-) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.