Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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;

      }

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 von Alive3000
haha

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?

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 von Alive3000

uja genau, hab jetzt auch versucht das

properties.put("serveradresse", "true");

wegzunehmen, aber funktioniert dann trotzdem nicht

erstmal testweise hab ich sie über der funktion in einem string gespeichert und rufe ihn dann auf, natürlich ohne anführungszeichen

Nadine

ja genau. der wird in outlook bei uns auch benutzt

Nadine

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

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

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 von Alive3000

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:)

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

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:-)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.