Announcement

Collapse
No announcement yet.

JSP Mail Versand

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JSP Mail Versand

    Hallo habe da mal eine Frage:

    Wollte für eine Aufgabe eine kleine Seite schreiben, unteranderen soll diese die Möglichkeit bieten wenn jemand sein Password vergessen hat, dass er es per mail bekommen kann.

    Habe dazu folgendes im Internet gefunden und etwas angepasst!


    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    </head>
    <body>
    <%@ page import="java.sql.*, java.util.*, javax.mail.*, javax.mail.internet.*" %>
    <%
    String user, password, email, body;
    String benutzerName=request.getParameter("benutzername");
    String mail=request.getParameter("email");




    try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://.........../hwonlineshop","sss", "sss");
    Statement stmt = conn.createStatement();
    String sql="select * from kunden where User like '"+benutzerName+"'";

    ResultSet res=stmt.executeQuery(sql);
    if(res.next()) {
    user=res.getString(9);
    if (benutzerName.equals(user)) {
    //Passwort und Mail-Adresse auslesen
    password=res.getString(10);

    //Mail-Text generieren:
    body="\nIhre Zugangsdaten lauten:\n\n";
    body=body+"Benutzername: "+user;
    body=body+"\nPasswort: "+password;
    body=body+"\nE-Mail: "+mail;
    body=body+"\n\nIhre Support-Abteilung";
    //E-Mail verschicken:
    try {
    Properties prop = new Properties();
    prop.put("mail.smtp.host", "smtp.web.de");
    Session s = Session.getInstance(prop);
    MimeMessage message = new MimeMessage(s);
    InternetAddress from = new InternetAddress("[email protected]");
    message.setFrom(from);
    InternetAddress rcpt = new InternetAddress(mail);
    message.addRecipient(Message.RecipientType.TO, rcpt);
    message.setSubject("Ihre Zugangsdaten");
    message.setText(body);
    Transport.send(message);
    out.println("<p>E-Mail wurde verschickt....</p>");
    }
    catch (MessagingException msgexcep) {
    out.println (msgexcep.getMessage());

    }

    }
    else {
    out.println("<b>Benutzername falsch</b><br>");
    out.println("<a href='login.html'>noch ein Versuch</a>");
    }
    }
    else {
    out.println("<b>Benutzername nicht vorhanden</b><br>");
    out.println("<a href='login.html'>noch ein Versuch</a>");
    }

    }
    catch (ClassNotFoundException err) {
    out.println("DB-Driver nicht gefunden!");
    out.println(err);
    }
    catch (SQLException err) {
    out.println("Connect nicht möglich");
    out.println(err);
    }
    %>
    </body>
    </html>

    Irgendwie bekomme ich es aber nicht, ich denke ich muss noch irgendwie mein username und passwort für den provider hinterlegen (weiss leider aber nicht wie)

    Bekomme nämlich diese Fehlermeldung:

    Sending failed; nested exception is: class javax.mail.MessagingException: 501 Keine Authentifizierung, oder POP3-Anmeldung zu weit in der Vergangenheit . / Authentification failed, or POP3 logon too old.

    Habe schon viel gegoogelt aber nichts gefunden, was ich verstehe!

    vielen Dank im voraus!

    mfg

    Javier
Working...
X