Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DouglasCar

Problemas em enviar um formulário de e-mail em JSP

Recommended Posts

Pessoal, estou utilizando o seguinte código para um formulário de e-mail:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><form action="enviaremail.jsp" method="post"><table border="0" align="center" bgcolor="tan"><tr><td><b>Para..:</b></td><td><input type="Text" name="para"></td></tr><tr><td><b>De..:</b></td><td><input type="Text" name="de"></td></tr><tr><td><b>Assunto..:</b></td><td><input type="Text" name="assunto"></td></tr><tr><td colspan="2"><textarea name="mensagem" rows=10 cols=45></textarea></td></tr></table><center><input type="Submit" value="Enviar Email"></center></form></body></html>
E o seguinte código em JSP para tratar os dados vindos do formulário:
<%@page import="email.Email" %><jsp:useBean id="email" class="email.Email"/><%try {String mailServer = "mail.premiumbrazil.com.br";String assunto = request.getParameter("assunto");String para =  request.getParameter("para");String de = request.getParameter("de");String mensagem =request.getParameter("mensagem");email.sendSimpleMail(mailServer, assunto, para, de, mensagem);%>Sucesso, email enviado !!<%}catch (Exception e) { %>Erro, email inválido !!<%}%>
E tenho também o arquivo Email.java que possui a parte de comunicação com a API do javamail:
package email;import javax.mail.internet.*;import java.util.*;import javax.mail.*;/** * * @author dcarvalho */public class Email {/*. . .*/public void sendSimpleMail (String mailServer, String subject,                            String to,String from, String mensagem)    throws AddressException, MessagingException {Properties mailProps = new Properties();//definição do mailservermailProps.put("mail.smtp.host", mailServer);Session mailSession = Session.getDefaultInstance(mailProps, null);//As duas linhas seguintes de código, colocam no//formato de endereços, //supostamente válidos, de email os dados //passados pelos parâmetros to e from.InternetAddress destinatario = new InternetAddress (to);InternetAddress remetente = new InternetAddress (from);//As duas linhas de código a seguir, são //responsáveis por setar os atributos e //propriedas necessárias do objeto message //para que o email seja enviado.//inicialização do objeto Message Message message = new MimeMessage (mailSession);//Definição de quem está enviando o emailmessage.setFrom(remetente);//define o(s) destinatário(s) e qual o tipo do //destinatário.//os possíveis tipos de destinatário: TO, CC, BCC	message.setRecipient( Message.RecipientType.TO, destinatario );//definição do assunto do email  message.setSubject (subject);//definição do conteúdo da mensagem e do //tipo da mensagem	message.setContent (mensagem.toString(), "text/plain");//a linha de código seguinte é a responsável //pelo envio do emailTransport.send (message);}}
Acontece que quando tento enviar um e-mail está sendo retornado no navegador a seguinte tela:

type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: javax/activation/DataSource org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758) org.apache.jsp.enviaremail_jsp._jspService(enviaremail_jsp.java:79) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)root cause java.lang.NoClassDefFoundError: javax/activation/DataSource email.Email.sendSimpleMail(Email.java:47) org.apache.jsp.enviaremail_jsp._jspService(enviaremail_jsp.java:62) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

Gostaria de ver se alguém poderia me indicar o que pode estar ocorrendo. Agradeço se alguém puder me dar uma dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique junto ao servidor de envio de e-mail se há necessidade de autenticação.Outra coisa importante é programar em 3 camadas (MVC), pois código java direto no JSP vai lhe trazer muitos problemas.Qualquer dúvida posta ai denovoFlwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.