[Resolvido]Problemas ao enviar e-mail em Java

4 respostas
Sidneyassis

Ae galera…eu estou querendo enviar e-mails em java mas estou tendo uns probleminhas…eu pesquisei aqui no GUJ e encontrei esse código, fiz algumas alterações.

package br.com.MyNet.Email;


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

public class Email1 {
	public class SMTPAuthenticator extends Authenticator {  
		public PasswordAuthentication getPasswordAuthentication() {  
			String username = "MyNetSystem";  
			String password = "****";  
			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   

		mailProps.put("mail.smtp.host", mailServer);  

		Authenticator auth = new SMTPAuthenticator();  
		Session mailSession = Session.getDefaultInstance(mailProps, auth);  

		mailProps.put("mail.smtp.auth", "false");  

		//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);  
	}  
	public static void main(String args[]) throws AddressException, MessagingException{  
		Email1 email = new Email1();  
		email.sendSimpleMail("smtp.gmail.com", "Teste!", "[email removido]",  
				"[email removido]", "Oi, tudo bem??");     
	}  
}

mas esta exbindo essa mensagem no console…acho que tem algo a ver com a linha Message message = new MimeMessage(mailSession); do código…

Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource
	at br.com.MyNet.Email.Email1.sendSimpleMail(Email1.java:47)
	at br.com.MyNet.Email.Email1.main(Email1.java:71)

Quem souber me ajudar eu agradeço…

Valeu!!!

4 Respostas

esb

Está faltando o .jar da biblioteca JavaBeans Activation Framework no seu CLASSPATH. Você pode fazer o download do JAF no link logo abaixo:

http://java.sun.com/products/javabeans/jaf/downloads/index.html

Qualquer problema, volte a escrever!

Abraço e boa sorte,
Eduardo

T

Leia este post até o fim:

http://www.guj.com.br/posts/list/35431.java

Além disso, arranje o jar chamado “activation.jar”. É ele que contém a classe que falta (javax.activation.DataSource) que deu o erro de execução.

Sidneyassis

opa…blza…vou tentar aqui e depois falo se deu certo…

Valeu amigos!!!

Sidneyassis

hauhauhauhauhua…Boa tingol…Li todo o post e consegui…Show de bola ein…

Java Forever!!!..

Valeu Pela ajuda…

Fuiiii

Criado 28 de junho de 2007
Ultima resposta 28 de jun. de 2007
Respostas 4
Participantes 3