[quote=rodrigofonsecajr]No seu caso você pode adicionar o ‘miolo’ do código no seu servlet, o servlet nada mais é que uma classe JAVA, tem algumas configs que dão certos poderes a ela, então quase todo código em JAVA pode ser adicionado ao seu servlet.
Você deve copiar da linha 12 a 119 do tutorial e ir corrigindo os erros que a IDE vai te mostrar, adaptando a sua necessidade, daí vai postando os erros que agente te ajuda aqui
[/quote]
Inseri as linhas que você havia sugerido, fazendo alterações necessárias para não ocorrerem erros de sintaxe, porém ao compilar, o server do tomcat não carrega e aponta o seguinte erro:
[color=red]Apr 19, 2013 3:56:43 PM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start:
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:684)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
… 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
… 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
… 11 more
Apr 19, 2013 3:56:43 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 9293 ms [/color]
Eis o código do servlet:
@WebServlet("/ServletController")
public class ServletController extends HttpServlet {
private static final long serialVersionUID = 1L;
private String mailSMTPServer;
private String mailSMTPServerPort;
public ServletController(){
mailSMTPServer = "smtp.gmail.com";
mailSMTPServerPort = "465";
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.processaRequisicao(request, response, null, null);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.processaRequisicao(request, response, null, null);
}
public void processaRequisicao(HttpServletRequest request, HttpServletResponse response, String mailSMTPServer, String mailSMTPServerPort) throws ServletException, IOException{
this.mailSMTPServer = mailSMTPServer;
this.mailSMTPServerPort = mailSMTPServerPort;
String destinatario = request.getParameter("destinatario");
String assunto = request.getParameter("assunto");
String mensagem = request.getParameter("mensagem");
String envia = request.getParameter("envia");
Mensagem msg = new Mensagem();
msg.setDestinatario(destinatario);
msg.setAssunto(assunto);
msg.setMensagem(mensagem);
msg.setEnvia(envia);
mailSMTPServer = "smtp.gmail.com";
mailSMTPServerPort = "465";
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp"); //define protocolo de envio como SMTP
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.host", mailSMTPServer); //server SMTP do GMAIL
props.put("mail.smtp.auth", "true"); //ativa autenticacao
props.put("mail.smtp.user", destinatario); //usuario ou seja, a conta que esta enviando o email (tem que ser do GMAIL)
props.put("mail.debug", "true");
props.put("mail.smtp.port", mailSMTPServerPort); //porta
props.put("mail.smtp.socketFactory.port", mailSMTPServerPort); //mesma porta para o socket
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
class SimpleAuth extends Authenticator {
public String username = null;
public String password = null;
public SimpleAuth(String user, String pwd) {
username = user;
password = pwd;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication (username,password);
}
}
SimpleAuth auth = null;
auth = new SimpleAuth ("edmano@gmail.com","edmano10");
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(true);
Message mens = new MimeMessage(session);
try {
mens.setRecipient(Message.RecipientType.TO, new InternetAddress(destinatario));
mens.setFrom(new InternetAddress(envia));
mens.setSubject(assunto);
mens.setContent(mensagem,"text/plain");
} catch (Exception e) {
System.out.println(">> Erro: Completar Mensagem");
e.printStackTrace();
}
Transport tr;
try {
tr = session.getTransport("smtp");
tr.connect(mailSMTPServer, "edmano@gmail.com", "xxxxxxx");
mens.saveChanges(); // don't forget this
tr.sendMessage(mens, mens.getAllRecipients());
tr.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println(">> Erro: Envio Mensagem");
e.printStackTrace();
}
RequestDispatcher view = request.getRequestDispatcher("sucesso.jsp");
view.forward(request, response);
}
}