[RESOLVIDO] Problemas com Javamail

8 respostas
E

Achei um artigo aqui no guj mesmo de como enviar email com o javamail, mas estou tendo um problema, esse é o código:

SimpleEmail email = new SimpleEmail(); <- Aqui está dando erro

        try {
            email.setDebug(true);
            email.setHostName("smtp.gmail.com");
            email.setAuthentication("seu_nome_de_usuario","sua_senha"); <- Aqui eu não entendi direito o que devo colocar, se é o email do gmail e senha ou alguma outra coisa
            email.setSSL(true);
            email.addTo("para_quem_enviara_email"); //pode ser qualquer um email
            email.setFrom("seu_email_gmail"); //aqui necessita ser o email que voce fara a autenticacao
            email.setSubject("Teste");
            email.setMsg("Mensagem Testando");
            email.send();
  
        } catch (EmailException e) {

            System.out.println(e.getMessage());

        }
erro:
javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.NoClassDefFoundError: javax/mail/Message
	email.TesteCommonsServlet.doPost(TesteCommonsServlet.java:75)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.ClassNotFoundException: javax.mail.Message
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	email.TesteCommonsServlet.doPost(TesteCommonsServlet.java:75)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

8 Respostas

R

Vou te responder indicando outro tutorial: http://mballem.wordpress.com/2011/02/15/enviando-email-com-a-api-javamail/
Tá tudo detalhado nesse.

E

Blz romarcio, vou testar quanto chegar em casa.

E

Tentei fazer com o tutorial que vc me passou, mas está dando o seguinte erro

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error instantiating servlet class email.TesteCommonsServlet
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	java.lang.Thread.run(Thread.java:619)

root cause

java.lang.NoClassDefFoundError: javax/mail/MessagingException
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	java.lang.Class.getConstructor0(Class.java:2699)
	java.lang.Class.newInstance0(Class.java:326)
	java.lang.Class.newInstance(Class.java:308)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	java.lang.Thread.run(Thread.java:619)

root cause

java.lang.ClassNotFoundException: javax.mail.MessagingException
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	java.lang.Class.getConstructor0(Class.java:2699)
	java.lang.Class.newInstance0(Class.java:326)
	java.lang.Class.newInstance(Class.java:308)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	java.lang.Thread.run(Thread.java:619)
código
MailJava mj = new MailJava();

        //configuracoes de envio
	        mj.setSmtpHostMail("smtp.gmail.com");
	        mj.setSmtpPortMail("587");
	        mj.setSmtpAuth("true");
	        mj.setSmtpStarttls("true");
	        mj.setUserMail("[email removido]");
	        mj.setFromNameMail("Egon");
	        mj.setPassMail("geleiaa");
	        mj.setCharsetMail("ISO-8859-1");
	        mj.setSubjectMail("JavaMail");
	        //mj.setBodyMail(htmlMessage());
	        mj.setTypeTextMail(MailJava.TYPE_TEXT_HTML);

                //sete quantos destinatarios desejar
	        Map<String, String> map = new HashMap<String, String>();
	        map.put("[email removido]", "email yahoo");

	        mj.setToMailsUsers(map);

                //seta quatos anexos desejar
	        List<String> files = new ArrayList<String>();
	        //files.add("C:\\images\\ajax_loader.gif");
	        //files.add("C:\\images\\hover_next.png");
	        //files.add("C:\\images\\hover_prev.png");

	        mj.setFileMails(files);

	        try {
	            new MailJavaSender().senderMail(mj);
                    response.sendRedirect("contato.jsp");
	        } catch (UnsupportedEncodingException e) {
	            e.printStackTrace();
	        } catch (MessagingException e) {
	            e.printStackTrace();
	        }
R

O erro é esse: java.lang.ClassNotFoundException: javax.mail.MessagingException não está encontrando a classe MessagingException que deve estar no jar mail.jar
Você precisa baixar esse jar e adicionar no seu projeto.
No tutorial tem o link de onde baixa-lo.

E

Mas eu já adicionei a biblioteca mail.jar, será que não pode ser outra coisa ??

R

Não, essa classe está na biblioteca mail.jar e o sistema não a está encontrando.

E

Agora funcionou, baixei o jar novamente e adicionei ao projeto e funcionou :smiley:
Vlw pela ajuda.

R

EHS:
Agora funcionou, baixei o jar novamente e adicionei ao projeto e funcionou :smiley:
Vlw pela ajuda.

:thumbup:

Criado 24 de maio de 2011
Ultima resposta 25 de mai. de 2011
Respostas 8
Participantes 2