Estou tentando enviar um email de um programa de um porjeto Web, quano rodo por um programa com main funciona, mais quando rodo com um programa com post não funciona, estes são os erros:
04/10/2011 18:09:12 org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet BibTCC_j182_EnviarTCC as unavailable
04/10/2011 18:09:12 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet BibTCC_j182_EnviarTCC
java.lang.ClassNotFoundException: javax.mail.Authenticator
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1089)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@pageimport="java.util.ArrayList"%><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>BibTCC - Enviar Email</title></head><!-- Mostra imagem de fundo --><bodybackground ="BibTCC_b002_Background.jpg"><formname="dados_tcc"action="/BibTCC/bibtcc_j182_enviartcc"method="post"onSubmit="return enviar();"></br></br><fontcolor ="#003366"><center><h2>Enviar Email</h2></center></font><tablewidth ="900"><tr><br><hrsize ="7"><h3>Autor</h3>
Nome: <inputtype="text"size =50name="nome_autor_tcc1">
Email: <inputtype="text"size =30name="email_autor_tcc1"><br>
Descrição Acadêmica:<br><textareaname="desc_acad_autor_tcc1"rows="3"cols="110"></textarea><br>
Profissão: <inputtype="text"size =30name="prof_autor_tcc1"><br>
Descrição Profissional:<br><textareaname="desc_prof_autor_tcc1"rows="3"cols="110"></textarea></tr><hrsize ="7"><center><inputtype="submit"value="Enviar"class="formobjects"></center></table></form></body><scripttype="text/javascript">functionenviar(){//verifica se o nome do autor 1 foi preenchidoif(document.dados_tcc.nome_autor_tcc1.value==""){alert("Preencha o nome do autor 1!");document.dados_tcc.nome_autor_tcc1.focus();returnfalse;}//verifica se o email do autor 1 foi preenchidoif(document.dados_tcc.email_autor_tcc1.value==""){alert("Preencha o email do autor 1!");document.dados_tcc.email_autor_tcc1.focus();returnfalse;}//verifica se o descrição acadêmica do autor 1 foi preenchidoif(document.dados_tcc.desc_acad_autor_tcc1.value==""){alert("Preencha a descrição acadêmica do autor 1!");document.dados_tcc.desc_acad_autor_tcc1.focus();returnfalse;}//verifica se o profissão do autor 1 foi preenchidoif(document.dados_tcc.prof_autor_tcc1.value==""){alert("Preencha a profissão do autor 1!");document.dados_tcc.prof_autor_tcc1.focus();returnfalse;}//verifica se o descrição profissional do autor 1 foi preenchidoif(document.dados_tcc.desc_prof_autor_tcc1.value==""){alert("Preencha a descrição proficional do autor 1!");document.dados_tcc.desc_prof_autor_tcc1.focus();returnfalse;}returntrue;}</script></html>
Java
importjava.io.IOException;importjava.io.InputStream;importjava.sql.SQLException;importjava.util.Properties;importjavax.activation.DataHandler;importjavax.mail.Address;importjavax.mail.Authenticator;importjavax.mail.Message;importjavax.mail.MessagingException;importjavax.mail.Multipart;importjavax.mail.PasswordAuthentication;importjavax.mail.Session;importjavax.mail.Transport;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeBodyPart;importjavax.mail.internet.MimeMessage;importjavax.mail.internet.MimeMultipart;importjavax.mail.util.ByteArrayDataSource;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.swing.JOptionPane;importp700_email.BibTCC_c700_EnviarEmail;publicclassBibTCC_j182_EnviarTCCextendsHttpServlet{protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{System.out.println("Entrou no j182_Envia_TCC");//cria um objeto dados autorp200_autor.BibTCC_c200_Autorautor=newp200_autor.BibTCC_c200_Autor();//cria um objeto email p700_email.BibTCC_c700_EnviarEmailemail=newp700_email.BibTCC_c700_EnviarEmail();//recupera dados do autorif(request.getParameter("nome_autor_tcc1").length()>50)autor.setNome_autor1(request.getParameter("nome_autor1").substring(0,50));elseautor.setNome_autor1(request.getParameter("nome_autor1"));if(request.getParameter("email_autor1").length()>30)autor.setEmail_autor1(request.getParameter("email_autor1").substring(0,30));elseautor.setEmail_autor1(request.getParameter("email_autor1"));autor.setDesc_acad_autor1(request.getParameter("desc_acad_autor1"));if(request.getParameter("prof_autor1").length()>20)autor.setProf_autor1(request.getParameter("prof_autor1").substring(0,20));elseautor.setProf_autor1(request.getParameter("prof_autor1"));autor.setDesc_prof_autor1(request.getParameter("desc_prof_autor1"));if(request.getSession().getAttribute("usuario")==null){//envia email para o autoremail.setRemetente_email("[email removido]");email.setSenha_email("xxxxxxx");email.setDestinatario_email(autor.getEmail_autor1());System.out.println("Destinatário : "+email.getDestinatario_email());email.setAssunto_email("Inclusão no Sitema BibTCC");email.setMensagem_email("Você foi incluido no Sistema BibTCC como autor do TCC "+".<br>Favor entrar no Sistema para verificar e atualizar seus dados."+"<br><br>Usuário: "+autor.getNome_autor1()+"<br> Senha: "+autor.getNome_autor1());try{email.enviarEmail();}catch(MessagingExceptione){// TODO Auto-generated catch blocke.printStackTrace();}}}}
Classe que dá erro
packagep700_email;importjava.util.Properties;importjavax.mail.Address;importjavax.mail.Message;importjavax.mail.MessagingException;importjavax.mail.PasswordAuthentication;importjavax.mail.Session;importjavax.mail.Transport;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeMessage;publicclassBibTCC_c700_EnviarEmail{publicstaticStringremetente_Email;publicstaticStringsenha_Email;publicstaticStringdestinatario_Email;publicstaticStringassunto_Email;publicstaticStringmensagem_Email;publicstaticvoidsetRemetente_email(Stringparameter){remetente_Email=parameter;}publicstaticStringgetRemetente_email(){returnremetente_Email;}publicstaticvoidsetSenha_email(Stringparameter){senha_Email=parameter;}publicstaticStringgetSenha_email(){returnsenha_Email;}publicstaticvoidsetDestinatario_email(Stringparameter){destinatario_Email=parameter;}publicstaticStringgetDestinatario_email(){returndestinatario_Email;}publicstaticvoidsetAssunto_email(Stringparameter){assunto_Email=parameter;}publicstaticStringgetAssunto_email(){returnassunto_Email;}publicstaticvoidsetMensagem_email(Stringparameter){mensagem_Email=parameter;}publicstaticStringgetMensagem_email(){returnmensagem_Email;}/* public static void main(String[] args) throws MessagingException { setRemetente_email("[email removido]"); setSenha_email("edurdigo"); setDestinatario_email("[email removido]"); System.out.println("Destinatário : "+ getDestinatario_email()); setAssunto_email("Inclusão no Sitema BibTCC"); setMensagem_email ("Você foi incluido no Sistema BibTCC como autor do TCC " + ".<br>Favor entrar no Sistema para verificar e atualizar seus dados."); new BibTCC_c700_EnviarEmail_ant().enviarEmail(); }*/publicvoidenviarEmail()throwsMessagingException{System.out.println(" Entrou no enviaEmail");Propertiesprops=newProperties();/** Parâmetros de conexão com servidor Gmail */props.put("mail.smtp.host","smtp.gmail.com");props.put("mail.smtp.socketFactory.port","465");props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");props.put("mail.smtp.auth","true");props.put("mail.smtp.port","465");Sessionsession=Session.getDefaultInstance(props,newjavax.mail.Authenticator(){protectedPasswordAuthenticationgetPasswordAuthentication(){returnnewPasswordAuthentication(getRemetente_email(),getSenha_email());}});/** Ativa Debug para sessão */session.setDebug(true);try{Messagemessage=newMimeMessage(session);message.setFrom(newInternetAddress(getRemetente_email()));//RemetenteAddress[]toUser=InternetAddress//Destinatário(s).parse(getDestinatario_email());message.setRecipients(Message.RecipientType.TO,toUser);message.setSubject(getAssunto_email());//Assuntomessage.setText(getMensagem_email());/**Método para enviar a mensagem criada*/Transport.send(message);System.out.println(" Enviou email");}catch(MessagingExceptione){thrownewRuntimeException(e);}}}