Olá pessoal…
Sou estudante daqui do cefet e estou fazendo um servlet que envia um e-mail com um link de confirmação de cadastro de uma aplicação que estou fazendo! Sendo que o servidor de smtp daqui do cefet exige um login e uma senha, eu jah tenho uma conta de e-mail aqui sendo que nao sei como autentico meu servlet… Estou amndando em anexo o servlet, e gostaria muito que vcs me ajudassem! Grato…
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SendMailServlet extends HttpServlet{
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException {
res.setContentType("text/html");
try {
String to = req.getParameter("email");
String subject ="Confirmação de cadastro do XPeer";
String from = "xpeer@rnp.br";
String name = req.getParameter("nome");
String instituicao = req.getParameter("instituicao");
String tipoCadastro = req.getParameter("tipocadastro");
String senha1 = req.getParameter("senha1");
String senha2 = req.getParameter("senha2");
String chave = encripta(to);
String body ="<p><img src=\"rnp.JPG\" width=\"110\" height=\"45\"> </p>" +
"<p>" + "Dados dos usuário/aplicação: " + "</p><p>" +
"Nome: " + name + "</p><p>" +
"E-mail: " + to + "</p><p>" +
"Instituição: " + instituicao + "</p><p>" +
"Tipo de Cadastro: " + tipoCadastro + "</p><p>" +
"Clique no link para confirmar cadastro: " + "<a href=\"" +
"http://localhost:8080/XManager/servlet/CadastroXPeerServlet" +
"?chave=" + chave + "&nome=" + name + "&instituicao=" + instituicao +
"&email=" + to + "&tipocadastro=" + tipoCadastro + "&senha1=" + senha1 +
"\"> Confirmação de cadastro</a>" + "</p>";
enviaMail(to, from, subject, body);
res.sendRedirect("/XManager/sucesso.html");
}
catch (Exception e) {
throw new ServletException("Email nao pode ser enviado [" +
e.getMessage()+"]");
}
}
public String encripta(String mail) {
mail = mail + "xpeer";
int i,j;
SHA1 s = new SHA1();
s.init();
for(int index = 0; index < mail.length(); index++)
{
s.update((byte) mail.charAt(index));
}
s.finish();
return s.digout();
}//fim encripta
//método que envia e-mail para usuário
public static void enviaMail(String to, String from, String subject,
String body) throws ServletException{
try{
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.cefetpb.edu.br");
Session sessao = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(sessao);
message.setFrom(new InternetAddress(from));
Address toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(subject);
message.setContent(body, "text/html");
Transport.send(message);
}
catch(Exception e){
throw new ServletException("Problemas no envio ("+e+":"+e.getMessage()+")");
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException {
doPost(req,res);
}
}
}//fim de SendMailServlet
A classe tá pronta, só queria saber como autentico para enviar o e-mail sem mais problemas!!!
[]'s
Hermano Toscano