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?
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.
:? [/quote]
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("blacerda@skafe.com.br"));
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.
[quote=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.[/quote]
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???