Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

java.lang.NullPointerException Incomprensibile!

1 view
Skip to first unread message

Lorenzo

unread,
Sep 17, 2003, 7:38:30 PM9/17/03
to
**** 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
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Massimiliano

unread,
Sep 18, 2003, 8:05:23 AM9/18/03
to
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

Massimiliano

unread,
Sep 18, 2003, 8:35:32 AM9/18/03
to
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

Lorenzo

unread,
Sep 20, 2003, 2:08:04 PM9/20/03
to
**** Post for FREE via your newsreader at post.usenet.com ****


"Massimiliano" <massimi...@libero.it> 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.

0 new messages