Email de resposta automática

9 respostas
bsl.lacerda

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?

9 Respostas

maquiavelbona

Que? Minha clarividência e telepatia estão obscurecidas por ser segunda-feira e estar nublado.
:?

bsl.lacerda

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

maquiavelbona

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é!

bsl.lacerda

Obrigado pela força. Vou dar uma verificada…

bsl.lacerda

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.


esb

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

bsl.lacerda

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.

esb

Bruno Lacerda:
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!

bsl.lacerda

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???

Criado 16 de julho de 2007
Ultima resposta 16 de jul. de 2007
Respostas 9
Participantes 3