JavaMail

Salve Galera,

Baixei a API JavaMail no site da Sun e acho que estou com probleminhas para configura-la, Setei o arquivo mail.jar no CLASSPATH.

Estou com um código simples qeu achei em um site mais o mesmo não está rodando, creio que é só erro de pacote, definição, olhem o código.:


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

public class Spammer {
  public static void main(String args[]) {
    if (args.length < 4) {
      System.out.println("Forma de uso: java Spammer <arquivo msg> <arquivo emails> <from> <subject>");
      System.exit(1);
    }

    try {
      postMail(args[0], args[1], args[2], args[3]);
    }
    catch (MessagingException e) {
      System.out.println("Erro: " + e);
    }
  }

  public static void postMail(String msg_file, String mails_file, String from,
                              String subject) throws MessagingException {
    final boolean debug = false;

    //Set the host smtp address
    Properties props = new Properties();
    props.put("mail.smtp.host", "localhost");

    // create some properties and get the default Session
    Session session = Session.getDefaultInstance(props, null);
    session.setDebug(debug);

    // create a message
    Message msg = new MimeMessage(session);

    // set the from and to address
    InternetAddress addressFrom = new InternetAddress(from);

    // Sux, na documentacao que eu tenho diz que da para usar um objeto
    // Address simples, mas so funciona com um array de objetos. Entao
    // fiz essa gambiarra pq ja tava de saco cheio pra pensar numa
    // outra solucao :)
    Address to[] = new InternetAddress[1];
    msg.setFrom(addressFrom);
    msg.setSubject(subject);

    StringBuffer mensagem = new StringBuffer();
    String linha;

    try {
      // Arquivo com os enderecos de email ( um por linha )
      BufferedReader reader = new BufferedReader(new FileReader(mails_file));

      // Arquivo com a mensagem
      BufferedReader msg1 = new BufferedReader(new FileReader(msg_file));

      // Le todo o conteudo da mensagem a ser enviada
      while ((linha = msg1.readLine()) != null) {
        mensagem.append(linha);

      }
      msg1.close();
      msg.setContent(mensagem, "text/html");

      // Le cada endereco de email e envia
      while ((linha = reader.readLine()) != null) {
        to[0] = new InternetAddress(linha);
        msg.setRecipients(Message.RecipientType.TO, to);
        Transport.send(msg);
        Thread.sleep(10);
      }
    }
    catch (Exception e) {
      System.out.println("Erro: " + e);
    }
  }
}

ele apresenta os erros na hora de compilar:
“Spammer.java”: package javax.mail does not exist at line 4, column 1
“Spammer.java”: package javax.mail.internet does not exist at line 5, column 1
“Spammer.java”: cannot resolve symbol: class MessagingException in class Spammer at line 24, column 54
“Spammer.java”: cannot resolve symbol: class MessagingException in class Spammer at line 18, column 12
“Spammer.java”: cannot resolve symbol: class Session in class Spammer at line 32, column 5
“Spammer.java”: cannot resolve symbol: variable Session in class Spammer at line 32, column 23
“Spammer.java”: cannot resolve symbol: class Message in class Spammer at line 36, column 5
“Spammer.java”: cannot resolve symbol: class MimeMessage in class Spammer at line 36, column 23
“Spammer.java”: cannot resolve symbol: class InternetAddress in class Spammer at line 39, column 5
“Spammer.java”: cannot resolve symbol: class InternetAddress in class Spammer at line 39, column 39
“Spammer.java”: cannot resolve symbol: class Address in class Spammer at line 45, column 5
“Spammer.java”: cannot resolve symbol: class InternetAddress in class Spammer at line 45, column 24
“Spammer.java”: cannot resolve symbol: class InternetAddress in class Spammer at line 69, column 21
“Spammer.java”: package Message does not exist at line 70, column 35
“Spammer.java”: cannot resolve symbol: variable Transport in class Spammer at line 71, column 9

Desculpem mas é complicado demais aprender estas coisas sozinho… já bati a cabeça hoje, inserindo pacotes, definindo pacotes e nada! Gostaria de uma ajuda de vocÊs!

Grato

Oi

diogoacl, esse problema é que ele não está achando o mail.jar no teu CLASSPATH, tu está fazendo dentro de alguma IDE?

T+

Opa Jeveaus
Estou sim, dentro do JBuilder, pois é, imagino que seja isso, já reiniciei o pc, setei a variavel ClassPath nas variaveis de ambiente…

c:\siga\WEB-INF;c:\siga\WEB-INF\lib\ibatis-db.jar;c:\siga\WEB-INF\lib\struts.jar;c:\siga\WEB-INF\lib\servlet-api.jar;c:\siga\WEB-INF\lib\commons-logging.jar;c:\siga\WEB-INF\lib\commons-beanutils.jar;c:\siga\WEB-INF\lib\fop.jar;c:\siga\WEB-INF\lib\avalon-framework.jar;C:\Tomcat\webapps\jChatBoxPath\WEB-INF\lib\jchatbox.jar;C:\Tomcat\webapps\jChatBoxPath\WEB-INF\lib\xerces.jar;C:\ClassesJava\javamail-1.3.2ea\mail.jar;

Já coloquei o mail.jar em todos os diretorios lib possivel e nada!
Há algo mais que eu possa Fazer?