Zum Inhalt springen

Problem mit Mail versenden


Alive3000

Empfohlene Beiträge

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;

      }

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...