Newsgroup: it.comp.java
Titolo: Problema con Socket

Ciao a tutti.
Ho un problema con i Socket. Ho visto alcuni esempi di applet che spediscono
e-mail. Ho provato anche io a rifarne qualcuno, ma non ci sono riuscito. In
particolare credo che il problema riguardi l'indirizzo che uso per aprire il
canale. Io uso il mio server di posta in uscita. E' corretto o sbaglio?
--
===========================
                    BiiO
--------------------------------------------
   Home page       
www.biio.it
--------------------------------------------
  1°  E-Mail           
bi...@biio.it
  2°  E-Mail    
fab...@tiscalinet.it
===========================

 wrote in message 8r5fkk$73b$1...@nslave3.tin.it...


 ha scritto nel messaggio
news:KQrB5.49663$3R6.1...@news.infostrada.it...




 
hai provato a usare il metodo flush() sullo stream di output?
che classe hai usato? (certo senza due righe di codice e`
un po` difficile aiutarti...)
-- 
Ciao, Matteo                        !! Memories flashin' through my head
                                    /\ Was I just born or am I dead?
mailto:
matteo.mattia
 (at) 
libero.it
 \/              -- The Morning After
                                    　                   Faith No More

 un po` difficile aiutarti...)
No, negli esempi che avevo visto non lo ho avevo incontrato. Io sono un
neofita della classe 
java.net
, ma questo pensa si sia capito. Ecco la mia
funzione (č basata su un esempio trovato in rete funzionante) che (dovrebbe)
spedire mail:
================== CODICE =========================
public void Spedisci() throws IOException {
  Socket mailSocket = new Socket("
mail.biio.it
", 25); // 
mail.biio.it
 č il
                                                                   // mio
server della posta in uscita
  PrintWriter os = new PrintWriter(mailSocket.getOutputStream());
  int l, i;
  String User, Host;
  User="";
  Host="";
  String EMAIL=Email.getText();
  for(l=i=0; i<EMAIL.length(); i++)
    if (EMAIL.charAt(i)!='@')
       if (l==0) User+=EMAIL.charAt(i);
    else Host+=EMAIL.charAt(i);
   else l=1;
  os.println("HELO "+Host);
  os.println("MAIL FROM: 
bi...@biio.it
");
  os.println("RCPT TO: "+User+"@"+Host);
  os.println(Testo.getText());
  os.println(".");
  os.println("QUIT");
  os.close();
  mailSocket.close();
  }
========== FINE CODICE ======================

   }
...ti consiglierei l'rfc sull'SMTP, ma non ho sottomano i link...
-- 
Ciao, Matteo                        !! Memories flashin' through my head
                                    /\ Was I just born or am I dead?
mailto:
matteo.mattia
 (at) 
libero.it
 \/              -- The Morning After
                                    ĄĄ                   Faith No More

 mi funziona ancora. Non genera eccezione, ma non spedisce nemmeno.
Ciao, scusa se ti rispondo cosi` tardi ma ho un paio di esami in corso e
casini vari di lavoro... cmq: strano! sicuro che il codice sia a posto?
Fai un tentativo via telnet con il server SMTP, e vedi cosa ti risponde.
Con il mio (ho provato postfix e qmail) funziona. Se via telnet funziona
anche con il tuo, allora il problema e` nel codice Java. Altrimenti dovresti
controllare sull'rfc del protocollo SMTP che tipo di errore ti restituisce
e qual'e` la sintassi giusta.... come al solito non ho il link all'rfc sotto
mano, ma basta cercare in rete.
Cmq nel caso non andasse, *se non ricordo male* dovrei avere da qualche
parte un esempio di interrogazione di sendmail con una sintassi (non vorrei
dire un'eresia!) lievemente diversa.... Se riesco a trovarlo te lo posto
in privato.
-- 
Ciao, Matteo                         !!  It has to start somewhere
                                     /\  It has to start sometime
mailto:
matteo.mattia
 (at) 
libero.it
  \/  What better place than HERE
                                     　  What better time than NOW