Erro JavaMail

8 respostas
javaAurelio

Boa tarde
estou tendo enviar um e - mail com a api JavaMail mas so que da esse ERRO:

Exception in thread main java.lang.NoClassDefFoundError: javax/activation/DataSource

at Email.sendSimpleMail(Email.java:48)

at Email.main(Email.java:74)

O que pode ser?

8 Respostas

maquiavelbona

A falta do JAF?

Até!

javaAurelio

e Esse:

Exception in thread main 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 Email1.sendSimpleMail(Email1.java:64)

at Email1.main(Email1.java:68)
maquiavelbona

Não autenticou corretamente no SMTP server. Verifique os dados.

[color=white]Tá começando a parecer um tópico de suporte técnico. Nem agradecer ele faz.[/color]

javaAurelio

Retorna isso.

DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.mail.yahoo.com", port 25, isSSL false
220 smtp116.plus.mail.mud.yahoo.com ESMTP
DEBUG SMTP: connected to host "smtp.mail.yahoo.com", port: 25

EHLO lmr018
250-smtp116.plus.mail.mud.yahoo.com
250-AUTH LOGIN PLAIN XYMCOOKIE
250-PIPELINING
250 8BITMIME
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XYMCOOKIE"
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 VXNlcm5hbWU6
amF2YUF1cmVsaW8=
334 UGFzc3dvcmQ6
MTIzNDU2
535 authorization failed (#5.7.0)
Exception in thread "main" 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 Email1.sendSimpleMail(Email1.java:74)
	at Email1.main(Email1.java:79)
evandroshx

cara, posta o teu código aí pra gente poder te ajudar.

javaAurelio

codigo:

import javax.mail.*;
 import javax.mail.internet.*;
import java.util.Properties;

 public class Email1 {
 	public class SMTPAuthenticator extends Authenticator {
 		public PasswordAuthentication getPasswordAuthentication() {
 			String username = "user";
 			String password = "senha";
 			return new PasswordAuthentication(username, password);
 		}
 	}

 	public void sendSimpleMail(
 			String mailServer,
 			String subject,
 			String to,
 			String from,
 			String mensagem)
 	throws AddressException, MessagingException {

 		Properties mailProps = new Properties();
 		//definição do mailserver


 		Authenticator auth = new SMTPAuthenticator();
 		Session mailSession = Session.getInstance(mailProps, auth);
 		mailSession.setDebug(true);
 		mailProps.put("mail.smtp.host", mailServer);
 		mailProps.put("mail.smtp.auth", "true");
 		mailProps.put("mail.transport.protocol", "smtp");

		//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 email
 		message.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 mesnagem e do
 		//tipo da mensagem

 		message.setContent(mensagem.toString(), "text/html");
 		//a linha de código seguinte é a responsável
 		//pelo envio do email

 		Transport.send(message);
 		System.out.println("SEND");
 	}
 	public static void main(String args[]) throws AddressException, MessagingException{
 		Email1 email = new Email1();
 		email.sendSimpleMail("smtp.mail.yahoo.com", "Teste!", "[email removido]",
 				"[email removido]", "Oi, tudo bem??");
 		System.out.println("FIM");
 	}
 }
maquiavelbona

http://forum.java.sun.com/thread.jspa?threadID=751033&messageID=4293015
http://answers.yahoo.com/question/index?qid=1006050107846
http://forum.qmailrocks.org/archive/index.php/t-1727.html
http://forum.java.sun.com/thread.jspa?threadID=537461&tstart=150

Mais em uma busca pelo erro no google retorna bastante coisa.

Até!

evandroshx

cara, já tive problemas de autenticação tb. Não estou lembrado porque mas o código que tenho aqui e que funciona legal está diferente do seu. Lembro que tive problemas em criar uma nova classe extendendo a Authenticator então fiz assim:

Session sessao = Session.getDefaultInstance( pshxPropriedades,                                         
              new Authenticator() {
		     protected PasswordAuthentication getPasswordAuthentication() {
			  return new PasswordAuthentication( "user", "senha" );
		     }
	       } );

Não sei se irá resolver o seu problema mas testa aí.

Criado 16 de julho de 2007
Ultima resposta 17 de jul. de 2007
Respostas 8
Participantes 3