Erro na classe de enviar e-mail

9 respostas
H

To fazendo 1 classe simples p enviar email, to usando a api commons email, so q ta dando esse erro q n sei oq eh, quem souber me ajuda:

[classe]

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

//classe p/ enviar e-mail

public class Principal {

public static void main(String[] args) throws EmailException  {
    
    SimpleEmail email = new SimpleEmail();
    email.setAuthentication("login", "senha");
    email.setHostName("myjavaserver.com"); //peguei o smtp la no site deles
    email.addTo("[email removido]", "Destinatario");
    email.setFrom("[email removido]", "Remetente");
    email.setSubject("Teste");
    email.setMsg("Testando servidor de email");
    email.send();
}

}

[erro]

java.lang.NoClassDefFoundError: javax/mail/Message
at Principal.main(Principal.java:12) //o erro ta dando no contrutor do SimpleMail
Exception in thread “main”

Alguem sabe arrumar?

9 Respostas

cv1

Voce precisa colocar as bibliotecas do JavaMail no classpath da sua aplicacao.

H

eu ja adiconei o .jar do common mail ao classpath da minha aplicacao, alem disso terei d adicionar as bibliotecas do javamail?

cv1

Yeap.

H

blz, vlw.

E la no myjavasrever.com como farei, jogo tds os .jar la?

H

o JavaMail roda com o J2SE tranquilo ne? Pq no site vi q estavam relacionando ele c o J2EE.

H

Pronto, adicionei tds as Api´s necessarias: activitation, javamail e common mail, mas ainda ta dando o seguinte erro (creio q este erro eh problema no servidor smtp do myjavasrever, ne isso?):

org.apache.commons.mail.EmailException: Sending the email to the following server failed : <a href="http://myjavaserver.com:25">myjavaserver.com:25</a>

at org.apache.commons.mail.Email.sendMimeMessage(Email.java:873)

at org.apache.commons.mail.Email.send(Email.java:898)

at Principal.main(Principal.java:21)

Caused by: javax.mail.SendFailedException: Invalid Addresses;

nested exception is:

com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 <a href="mailto:[email removido]">[email removido]</a> Relaying denied
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
at javax.mail.Transport.send0(Transport.java:169)
at javax.mail.Transport.send(Transport.java:98)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:863)
... 2 more

Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 [email removido]… Relaying denied

at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1047)
... 6 more

q q vcs axam q eh? e outra coisa, alguem conhece 1 server smtp ai q n precisa d sneha p usa-lo, so p testar isso?

H

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

//classe p/ enviar e-mail

public class Principal {

public static void main(String[] args) throws EmailException  {
    
    SimpleEmail email = new SimpleEmail();
    email.setHostName("smtp.mail.yahoo.com.br");
    email.addTo("[email removido]", "Destinatario");
    email.setFrom("[email removido]", "Remetente");
    email.setSubject("Teste");
    email.setMsg("Testando servidor de email");
    email.setAuthentication("login", "senha");
    email.send();
    System.out.print("E-mail enviado com sucesso!");
}

}

colokei o hostname do yahoo no msm codigo, e deu o seguinte erro:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.mail.yahoo.com.br:25

at org.apache.commons.mail.Email.sendMimeMessage(Email.java:873)

at org.apache.commons.mail.Email.send(Email.java:898)

at Principal.main(Principal.java:21)

Caused by: javax.mail.AuthenticationFailedException

at javax.mail.Service.connect(Service.java:306)

at javax.mail.Service.connect(Service.java:156)

at javax.mail.Service.connect(Service.java:105)

at javax.mail.Transport.send0(Transport.java:168)

at javax.mail.Transport.send(Transport.java:98)

at org.apache.commons.mail.Email.sendMimeMessage(Email.java:863) 2 more

Exception in thread main

a senha/login usada foi a msm usada p acessar meu email, n sei pq n pegou, eh estranho, foi hj o dia td rodando nisso e n arrumo, alguem me dar 1 luz!!! tentei acessar o smtp do yahoo via telnet (p/ testar) e qnd digitava o comando MAIL FROM, ele diz autorization required, mas tentei por a senha, n axei comando, nem ele pediu, ta osso!!!

H

Alguem conhece outro servidor smtp p eu testar?

F

Gente como resolvo este erro, me ajudem!

HTTP Status 500 -


type Exception report

message

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

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:66: cannot resolve symbol

symbol  : constructor Email (java.lang.String)

location: class beans.Email

Email mail = new Email(Email.HTML);

^
An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:70: cannot resolve symbol

symbol  : method setEmailRemetente (java.lang.String)

location: class beans.Email

mail.setEmailRemetente([email removido]);

^
An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:71: cannot resolve symbol

symbol  : method setNomeRemetente (java.lang.String)

location: class beans.Email

mail.setNomeRemetente(Correio Forense);

^
An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:73: cannot resolve symbol

symbol  : method setEmailDestinatario (java.lang.String)

location: class beans.Email

mail.setEmailDestinatario( inscricao.getEmail() );

^
An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:74: cannot resolve symbol

symbol  : method setNomeDestinatario (java.lang.String)

location: class beans.Email

mail.setNomeDestinatario( inscricao.getNome() );

^
An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:76: cannot resolve symbol

symbol  : method setAssunto (java.lang.String)

location: class beans.Email

mail.setAssunto(Correio Forense - Voc?? foi mencionado(a) no Di??rio da Justi??a);

^
An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:78: cannot resolve symbol

symbol  : method setMensagem (java.lang.String)

location: class beans.Email

mail.setMensagem( inscricao.getNome() + ", 
" + mensagem.replaceAll( “\n , 
 ) );

^
An error occurred at line: 22 in the jsp file: /gerenciador/diario/comunicarInscritosDiario.jsp

Generated servlet error:

/usr/local/tomcat/work/Catalina/localhost/correioforense/org/apache/jsp/gerenciador/diario/comunicarInscritosDiario_jsp.java:82: cannot resolve symbol

symbol  : method send (beans.Email)

location: class beans.Email

Email.send(mail);

^

8 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
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)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:670)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:637)
org.apache.jsp.gerenciador.diario.add_005fdiario_jsp._jspService(add_005fdiario_jsp.java:119)
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.


Apache Tomcat/5.0.28

Criado 6 de maio de 2006
Ultima resposta 15 de fev. de 2007
Respostas 9
Participantes 3