Newsgroup: it.comp.java
Titolo: java.lang.NullPointerException Incomprensibile!

**** Post for FREE via your newsreader at 
post.usenet.com
 ****
Ciao ragazzi,
sto implemenentando una classettina semplice semplice per inviare una
e-mail. Riporto il semplice esempio:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.activation.*;
public class SempliceClient {
  // variabili di classe
    private Properties proprieta;
    private MimeMessage messaggio;
    private Transport trasporto;
    private Session sessione;
  public void spedisci(String emailAzienda, String corpoMessaggio) {
    proprieta = System.getProperties();           // ottengo un oggetto di
tipo Properties
    proprieta.put("mail.smtp.host","
smtp.miohost.it
");       // inserisco il
mio host smtp
    sessione = Session.getDefaultInstance(proprieta, null);
    try {
      messaggio = new MimeMessage(sessione);      // creo un nuovo messaggio
      messaggio.setFrom(new InternetAddress("
lor...@miohost.it
")); //
inseriscol'indirizzo del mittente
      messaggio.addRecipient(
Message.RecipientType.TO
, new
InternetAddress(emailAzienda));
      messaggio.setSubject("Hello this is a mail message");
        // Create the multi-part
        Multipart multipart = new MimeMultipart();
        // Create part one
        BodyPart messageBodyPart = new MimeBodyPart();
        // Fill the message
        messageBodyPart.setText("Corpo messaggio");
        // Add the first part
        multipart.addBodyPart(messageBodyPart);
        // Put parts in message
        messaggio.setContent(multipart);
        System.out.println("Punto 1");
        Transport tr= sessione.getTransport("smtp");
        tr.send(messaggio);
        System.out.println("Punto 2");
    } catch (Exception e){   System.out.println("SimpleClient
"+e.getMessage());
        e.printStackTrace();
    }
  }
  public static void main(String[] args){
      SempliceClient sc = new SempliceClient();
           String[] email = new String[3];
        String[] corpo = new String[3];
        email[0]="
te...@test.it
";
        email[1]="
te...@test.com
";
        email[2]="
te...@test.net
";
        corpo[0]="E-mail 1";
        corpo[1]="E-mail 2";
        corpo[2]="E-mail 3";
        for(int i=0;i<email.length;i++)
//            cp.inviaEmail(email[i], corpo[i]);
               sc.spedisci(email[i], corpo[i]);
  }
}
Il programma funziona perfettamente sulla mia macchina di sviluppo (Windows,
collegata a Internet mediante connessione ADSL), ma quando vado a
installarla su di un server linux (su di un server Aruba) ottengo questo
errore alla riga del  tr.send(messaggio)
Exception in thread "main" java.lang.NullPointerException
        at java.net.InetAddress.cacheAddress(InetAddress.java:648)
        at java.net.InetAddress.cacheAddress(InetAddress.java:633)
        at
java.net.InetAddress.getAddressFromNameService(InetAddress.java:1016)
        at java.net.InetAddress.getLocalHost(InetAddress.java:1125)
        at
com.sun.mail.smtp.SMTPTransport.getLocalHost(SMTPTransport.java:95)
        at
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:200)
        at javax.mail.Service.connect(Service.java:233)
        at javax.mail.Service.connect(Service.java:134)
        at javax.mail.Service.connect(Service.java:86)
        at com.sun.mail.smtp.SMTPTransport.connect(SMTPTransport.java:104)
        at javax.mail.Transport.send0(Transport.java:162)
        at javax.mail.Transport.send(Transport.java:80)
        at net.netinventions.sendMessage.main(sendMessage.java:65)
Sul server i mail.jar e activation.jar sono correttamente indicati nel
classpath!!!
Non ho proprio idea da cosa possa dipendere. Chi è che è così gentile da
darmi una dritta o un'indicazione.
Grazie mille in anticipo a tutti.
Lorenzo
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 *** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
 
http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

come prima cosa, 
Controlla che le versioni della Jre che usi siano le stesse...(tempo
fa' ho avuto problemi con la compatibilita'), assodato cio',
proverei a far girare il mio applicativo su una macchina in locale con
lo stesso SO che c'è sul server....(linux, da quanto ho capito),
in modo da poter capire se c'è un problema legato a qualche metodo che
fa riferimento a chiamate native....
ciao fammi sapere

controlla che le versioni di jre 
siano identiche e prova a far girare
il tuo codice su una macchina linux in locale ....
in modo da escludere a priori problemi relativi a metodi che fanno
chiamate platform dipendent....
fammi sapere ciao

 ha scritto nel messaggio
news:f23b064e.03091...@posting.google.com...

Ciao Grazie per il tuo intervento,
il problema stava in un'incompleta configurazione del file hosts...
Oltra al 127.0.0.1 localhost, mancava la riga con il nome della macchina.
Dunque non riusciva, questa č la mia deduzione, a lanciare il correa HELO al
server smtp.
Ciao e grazie ancora.
