pessoal,
tenho dois sistemas que precisam enviar emails para os usuarios.
ambos estao na mesma maquina.
(quem puder , me ajude! obrigado!)
primeiramente fiz uma classe de email especifica para o sistema x1.
tudo funciona perfeitamente ateh que um belo dia eu resolvo colocar outro
sistema ( vamos chamar de x2) na mesma maquina.
e este sistema tambem vai utilizar uma classe de email. estah classe eh uma
copia alterada da classe de x1.
eu nao estou entendendo bem o que esta acontecendo, mas quando uma classe eh
iniciada antes da outra, uma invalida a outra... acho que isto acontece
porque ficam na memoria do computador algumas propriedades de contexto.
java.lang.NoClassDefFoundError: inventario/Inventario
abaixo envio o codigo das duas classes.
qualquer semelhanca eh puro copy and paste ;)
cada codigo esta num pacote diferente...
CODIGO 1
========================================================
package mare;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class Email
{
boolean pronto = false; //se as configuracoes do email estiverem
carregadas , true
java.util.Date d;
java.text.SimpleDateFormat fmt;
String dataAtual;
static String msgText;
String to,from,host;
String nomeEmail;
Properties props = new Properties();
javax.mail.Session mailsession;
public void configEmail(String nome,String email,String orgao,String
senha_plain)
{
// data para inclusao no email !!
d = new java.util.Date();
fmt = new java.text.SimpleDateFormat("dd/MM/yyyy");
dataAtual = new String(fmt.format(d));
// mensagem para o corpo da mensagem
msgText =
"Confirmação de aprovação de cadastro para acesso ao sistema ARGO"+
"\n\nPrezado usuario:"+ nome + "\\"+orgao+
"\nVocê pode acessar o sistema ARGO para preencher os dados"+
"\nda sua rede a partir do dia 18/12/2000."+
"\n\nA primeira fase do preenchimento visa coletar os dados dos nodos e
links da rede"+
"\nnas capitais e cidades com mais de 300 mil habitantes. A data de Término
dessa fase é"+
"\n10/01/2001"+
"\n\nNa segunda fase, que vai de 10/01/2001 até 31/01/2001, deverão ser
fornecidos os dados"+
"\ndas demais localidades e links da rede."+
"\n\nApós 31/01/2000, não será possível alterar os dados cadastrados."+
"\n\nPara orientar o trabalho, sugere-se que o usuário comece imprimindo as
páginas do levantamento"+
"\npara ter uma idéia precisa das informações a serem fornecidas."+
"\n\nSugere-se que o usuário cadastre primeiro os nodos da rede, começando
por Brasília"+
"\ne seguindo com as capitais e cidades de 300 mil habitantes. Em seguida,
o usuário deve"+
"\ncadastrar os dados dos links entre tais cidades."+
"\n\n Para usar o sistema você deverá se autenticar com os seguintes
parâmetros: "+
"\n Login de acesso: "+email+ " (O login name é o seu email)"+
"\n Senha: "+senha_plain+ " (Altere sua senha para aumentar a segurança
dos seus dados)"+
"\n Sistema ARGO : http://www.redegoverno.gov.br/levantamento/argo"+
"\n\n Caso tenha alguma dúvida, acesse as páginas de ajuda ou envie-nos um
email para "+
" [EMAIL PROTECTED] ";
nomeEmail = new String(nome);
to = new String(email);// email da pessoa xxx
from = new String("[EMAIL PROTECTED]");// quem esta enviando o email
host = new String("164.41.67.135");//host de smtp
// 164.41.67.20
// configuracao das propriedades e obtencao de sessao default de email
props.put("mail.smtp.host", host);
props.put("mail.smtp.localhost", "localhost");
// nao confunda esta session com a session do jsp.
// se tiver que usar as duas sessions temos que declara-las por completo
mailsession = javax.mail.Session.getDefaultInstance(props, null);
pronto=true;
}
public boolean mandarEmail()
{
if(pronto)
{
try
{
// criando mensagem
Message msg = new MimeMessage(mailsession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
//InternetAddress[] addressBCC = {new
InternetAddress("[EMAIL PROTECTED]","ArgoMaster")};//xxx
msg.setRecipients(Message.RecipientType.TO, address);
//msg.setRecipients(Message.RecipientType.BCC, addressBCC);//xxx
msg.setSubject("ARGO - Usuario "+nomeEmail+" cadastrado
"+dataAtual);
msg.setSentDate(new Date());
msg.setText(msgText);
Transport.send(msg); // enviando mensagem
return true;
}
catch (MessagingException mex)
{
System.out.println("\n--Exceção : "+mex);
}
}
return false;
}
}
========================================================
CODIGO 2
========================================================
package inventario;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class Inventario
{
boolean pronto = false; //se as configuracoes do email estiverem
carregadas , true
java.util.Date d;
java.text.SimpleDateFormat fmt;
String dataAtual;
static String msgText;
String to,from,host;
String nomeEmail;
Properties props = new Properties();
javax.mail.Session mailsession;
public void configEmail(String nome,String email,String orgao,String
senha_plain)
{
// data para inclusao no email !!
d = new java.util.Date();
fmt = new java.text.SimpleDateFormat("dd/MM/yyyy");
dataAtual = new String(fmt.format(d));
// mensagem para o corpo da mensagem
msgText =
"Confirmação de aprovação de cadastro para acesso ao Sistema"+
"\n\nPrezado usuario:"+ nome + "\\"+orgao+
"\n\n Para usar o sistema você deverá se autenticar com os seguintes
parâmetros: "+
"\n Login de acesso: "+email+ " (O login name é o seu email)"+
"\n Senha: "+senha_plain+ " (Altere sua senha para aumentar a segurança
dos seus dados)";
nomeEmail = new String(nome);
to = new String(email);// email da pessoa xxx
from = new String("[EMAIL PROTECTED]");// quem esta enviando o email
host = new String("164.41.67.135");//
// configuracao das propriedades e obtencao de sessao default de email
props.put("mail.smtp.host", host);
props.put("mail.smtp.localhost", "localhost");
// nao confunda esta session com a session do jsp.
// se tiver que usar as duas sessions temos que declara-las por completo
mailsession = javax.mail.Session.getDefaultInstance(props, null);
pronto=true;
}
public boolean mandarEmail()
{
if(pronto)
{
try
{
// criando mensagem
Message msg = new MimeMessage(mailsession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject("INVENTARIO - Usuario "+nomeEmail+" cadastrado
"+dataAtual);
msg.setSentDate(new Date());
msg.setText(msgText);
Transport.send(msg); // enviando mensagem
return true;
}
catch (MessagingException mex)
{
System.out.println("\n--Exceção : "+mex);
}
}
return false;
}
}
========================================================
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------