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
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ciao fammi sapere
fammi sapere ciao
"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.