Recuperação de senha

3 respostas
L

Opa galera, beleza?
Bom, eu pretendo fazer um jsp para recuperar uma senha, caso o usuário tenha esquecido.
Preciso então saber como eu posso fazer para enviar o e-mail contendo o nome do usuário e um link para uma nova página, onde o usuário poderá mudar sua senha.
Posso também enviar uma senha aleatoriamente gerada, porém no e-mail deve existir um link para que o usuário confirme a troca de senha. (Para alguém mal intencionado não ficar trocando a senha dos usuários simplesmente por este recurso.)

Obrigado pela ajuda,
Oscar

3 Respostas

M

Olá,

Partindo que a regra do negócio seja colocar o email do usário e submeter a página.
A primeira coisa é procurar estudar a API do [color=“red”]JavaMail[/color].

Inclusive aqui no fórum esse api foi extensamente discutida.
http://www.cafeh.com.br/artigos/7/index.jsp

http://www.argonavis.com.br/palestras/java/j543/index.html

Vou colocar um exemplo :

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ExemploMail extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

PrintWriter out = res.getWriter();
res.setContentType("text/html");
try {

String to = req.getParameter("to");

String from = "[email removido]";

Properties props = new Properties();
props.put("mail.smtp.host", "smtp.seu_servidor.com.br");
Session session = Session.getInstance(props, null);

MimeMessage message = new MimeMessage(session);

message.setFrom(new InternetAddress(from));
Address toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);

message.setSubject("Recuperação da Senha");
/* Aqui vc deve criar fazer uma consulta no banco para recuperar as informações que vc precisa enviar
*/

/* O 2º parametro desse método vai definir o tipo do arquivo a ser aberto - no caso html 
*/
message.setContent("o corpo da messagem vai aqui", "text/html");

Transport.send(message);

out.println("E-mail enviado
");
}
catch (MessagingException e) {
out.println("Email nao pode ser enviado! " + e.getMessage());
}
}
}
L

Opa,
desculpa a demora.
Passei o findi pensando e acho que arranjei um jeito de fazer. Porém agora acho que não vão me liberar um e-mail pra fazer isto, alguma idéia de como fazer uma recuperação de senha sem e-mail? Eu nunca vi, mas nunca se sabe né heheh

valeu :wink:

G

“lance”:
Opa,
desculpa a demora.
Passei o findi pensando e acho que arranjei um jeito de fazer. Porém agora acho que não vão me liberar um e-mail pra fazer isto, alguma idéia de como fazer uma recuperação de senha sem e-mail? Eu nunca vi, mas nunca se sabe né heheh

valeu ;)

Fica estranho.

Criado 28 de abril de 2006
Ultima resposta 5 de mai. de 2006
Respostas 3
Participantes 3