Pessoal, estou com um problema e gostaria de solucioná-lo.
Preciso desenvolver uma aplicação MVC em java que: Receba os dados de entrada de um formulário HTML via post e enviar um e-mail para o endereço de e-mail especificado no formulário. Os dados do servidor SMTP devem ser buscados como variáveis de ambiente (web.xml) A aplicação deve fazer uso de Servlet e JSP. Não posso usar o recurso “invoker” do Tomcat.
A página eu criei em JSP com o formulário, também criei o servlet que recebe os dados passados pelo mesmo e já criei o web.xml que irá mapear o Servlet mas a questão de envio do e-mail está complicada. Alguém pode me dar uma força?
Email de resposta automática
9 Respostas
Que? Minha clarividência e telepatia estão obscurecidas por ser segunda-feira e estar nublado.
:?
Que? Minha clarividência e telepatia estão obscurecidas por ser segunda-feira e estar nublado.
:?
Foi mal cara, eu sou novato aqui no GUJ, acho que agora está mais bem explicado o que eu preciso saber
Tem uma seção no menu chamado Artigos / Tutoriais, lá tem esse tutorial:
http://guj.com.br/java.tutorial.artigo.21.1.guj
Já resolve um dos seus problemas. Se quiseres confirmação de resposta:
http://www.guj.com.br/posts/list/49354.java
Parece que seus problemas são esses. Nada que uma boa busca não resolvesse.
Até!
Obrigado pela força. Vou dar uma verificada…
Meu servlet está deste jeito
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Busca extends HttpServlet {
public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
PrintWriter out = response.getWriter();
String nome = request.getParameter("Nome");
String email = request.getParameter("Email");
String mensagem = request.getParameter("CorpoDaMensagem");
Properties p = new Properties();
p.put(email, "200.255.50.131");
Session session = Session.getInstance(p,null);
MimeMessage msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress("[email removido]"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(email));
msg.setSentDate(new Date());
msg.setSubject("Email de Resposta");
msg.setText("Vai Funcionar");
Transport.send(msg);
}
catch (AddressException e){
}
catch (MessagingException e){
}
}
}
mas está dando o seguinte erro:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Error instantiating servlet class servlet.Busca
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:595)
root cause
java.lang.NoClassDefFoundError: javax/mail/MessagingException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
java.lang.Class.getConstructor0(Class.java:2671)
java.lang.Class.newInstance0(Class.java:321)
java.lang.Class.newInstance(Class.java:303)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:595)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
Bruno Lacerda,
Você precisa baixar as APIs do JavaMail e do JavaBeans Activation Framework e colocá-las no seu CLASSPATH.
http://java.sun.com/products/javabeans/jaf/downloads/index.html
http://java.sun.com/products/javamail/
[]'s
Eduardo
Olá amigo,
preciso colocá-las no CLASSPATH (variáveis de Ambiente)? Eu adicionei a JavaMail e o JAF como arquivos externos no meu projeto. Mas continua dando o mesmo erro. Não sei se funciona assim mas será que eu poderia te enviar o meu projeto para que você possa avaliar melhor? Eu estou engatinhando em java, não trabalho com desenvolvimento mas estou me esforçando para isto. Ainda sou Universitário.
Olá amigo,
preciso colocá-las no CLASSPATH (variáveis de Ambiente)? Eu adicionei a JavaMail e o JAF como arquivos externos no meu projeto. Mas continua dando o mesmo erro. Não sei se funciona assim mas será que eu poderia te enviar o meu projeto para que você possa avaliar melhor? Eu estou engatinhando em java, não trabalho com desenvolvimento mas estou me esforçando para isto. Ainda sou Universitário.
Fala Bruno,
Supondo que suas classes estão compilando direito, faça o seguinte: no diretório da sua aplicação no Tomcat, dentro da pasta WEB-INF\lib, coloque as bibliotecas que você baixou (arquivos .jar).
Teste e veja se deu certo. Caso contrário, volte aqui e tentamos te ajudar!
Boa sorte!
Fiz o que você falou e não deu mais erro. Beleza!!!
Agora, não chegou nenhum e-mail no endereço que eu estou passando no formulário. O que será agora???