Newsgroup: it.comp.java
Titolo: email in java

Qualcuno sa dirmi cosa non va nel pezzo di codice qui sotto?
Funzionava, ma chissà cosa ho modificato ed ora non capisco più cosa non
funzia. Ciao e grazie
import java.io.*;
import java.net.*;
public class SendMail
        {
        Socket mailSock;
        String hostName;
        SendMail(String smtpServer){
                try{
                        hostName=smtpServer;
                        mailSock=new Socket(smtpServer,25);
                }
                catch(UnknownHostException uhe){
                        System.out.println("Error: unknow host
"+hostName);
                        System.out.println(uhe.getMessage());
                }
                catch(IOException io){
                        System.out.println("Socket I/O
Error:"+io.getMessage());
                }
        }
        void sendMailWithData(String from, String to, String subject,
String message){
                try{
                        PrintWriter mailOut=new
PrintWriter(mailSock.getOutputStream(),true);
                        mailOut.println("HELO name");
                        mailOut.println("MAIL FROM:"+from);
                        mailOut.println("RCPT TO:"+to);
                        mailOut.println("DATA");
                        mailOut.println("Subject:"+subject);
                        mailOut.println("");
                        mailOut.println(message);
                        mailOut.println(".");
                        mailOut.println("QUIT");
                        mailOut.close();
                        mailSock.close();
                        System.out.println("Mail sent!");
                }
                catch(IOException io){
                        System.out.println("I/O
Error:"+io.getMessage());
                }
        }
}

 funzia. Ciao e grazie
Che errore di da ?
A me sembra corretto.
--
Nothingman

Ho provato il tuo codice e a me funziona correttamente ....
Forse il problema stà nel server smtp che utilizzi .... stai attento che la
maggior parte dei server smtp (per non dire tutti) eseguono dei controlli
per verificare se l'utente che stà inviando l'email sia un utente
"consentito" cioè verificano che l'indirizzo IP del mittente appartenga alla
stessa rete del server smtp.
Cioè praticamente se ti colleghi ad internet tramite che sò Libero allora
devi per forza utilizzare il loro server smtp... quindi imposta come server
smtp quello che utilizzi per la connessione ad internet ..
Spero di averti aiutato..
Ciao ciao
Dany
--
Daniele Piras
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If at first the idea is not absurd then there is no hope for it. - Albert
Einstein
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Daniele Piras wrote:

Ma io lo ho provato con telnet sulla porta 25 dell'smtp server e  funziona
correttamente (inserendo i comandi a mano), dal programma invece no. Idee?
Grazie comunque

Nothingman wrote:

Veramente non da nessun errore, solo non arrivano le email. Sto pensando che
il problema sia sul smtp server, ma immettendo con telnet i comandi funziona!
Mah?


Ma inserisci ovviamente gli stessi dati ??

 invece no. Idee? Grazie comunque
A volte si hanno dei problemi dovuti al CR/LF finale: un printwriter usa
la definizione di finelinea del sistema operativo dove la JVM sta
girando; SMTP, come da RFC, si aspetta CRLF. Per questo e' corretto
scrivere print("RCPT TO: pincopallo\r\n"); piuttosto che println(..). 
Questo e' spesso il motivo per cui le cose funzionano da telnet (che usa
la stessa definizione di finelinea) ma non da programma - le stringhe
sono solo apparentemente uguali. 
Se pero' non hai cambiato sistema, o il tuo client non e' uno Unix, mi sa
che non e' quello. :( 
-- 
Life's something u don't get out alive..
ObjectZone - 
http://space.tin.it/computer/csadun

}
A me funziona solo aggiungendo il From: dentro al blocco DATA.
Bisognerebbe leggere la RFC...
HTH,
Mauri.
-- 
La forza di gravità è un falso mito,
è la Terra che succhia!

Daniele Piras wrote:

sě certamente

dario billo wrote:
ciao, adesso arrivo io bello bello e me ne vengo fuori con la mia.... :-)
Senza entrare nel merito del tuo codice, perchè non usi javaMail che va che è 
una meraviglia e con 5 righe mandi via mail anche con attachment?
Se vuoi ti giro un JDC news dove c'è un esempio sia con che senza attach
ciao
Marco

-- 
* mailto:
marco.a...@libero.it
 - 
http://utenti.tripod.it/Marco_Azzalini
 *
--
Legge di Hofstadter: 
         ci vuole sempre piu' tempo di quanto si pensi, 
         anche tenendo conto della Legge di Hofstadter.