Newsgroup: it.comp.java
Titolo: mail con java

Salve a tutti,
ho scritto questo codice tratto da mokabyte
per mandare mail e funziona, ma, al destinatario non viene visuallizzato ne'
il mandatario
ne' il destinatario.
Potete aiutarmi ?
              			Socket mailSocket = new Socket ("
mioserver.it
", 25);
    			PrintStream mas = new PrintStream (mailSocket.getOutputStream());
    			mas.println("HELO "+Host);
    			mas.println("MAIL FROM: 
pi...@mioserver.it
");
    			mas.println("RCPT TO: 
topo...@mioserver.it
");
    			mas.println("DATA");
    			mas.println("SUBJECT: questa e' una mail di prova");
    			mas.println("Ecco il messaggio");
    			mas.println(".");
    			mas.println("QUIT");
    			mas.close();
    			mailSocket.close();
Grazie a tutti.
reginfo
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio 
news:192Z107Z81Z34Y...@usenet.libero.it...



Oppure anche il Jakarta Commons eMail client:
http://jakarta.apache.org/commons/email/
-- 
Scritto con MesNews: 
http://www.mesnews.net

 ciao!!!
ciao


Non conosco benissimo e API della sun ma conosco abbastanza bene il
protocollo, e per SMTP non serve nessun tipo di autenticazione di tipo
nome utente password, ma solamente una autenticazione di verifica se il
mittente/destinatario sono "sensati" (sono "conosciuti" dal server).
QUindi penso che se inserisci come nome utente e password due stringhe
vuote potrebbe funzionare.


 
invece che solo
 
indi...@server.com
- specificare più di un destinatario, anche in copia carbone e copia
nascosta
- spedire allegati assieme al file
- prelevare il corpo del messaggio da un file qualunque (senza dover usare
setText)
- dulcis in fundo... mandare mail in HTML con tanto di immagini e fogli di
stile inclusi nel messaggio
e tutto questo *con* o *senza* autenticazione.
Studia, ragazzo.... studia....
-- 
Fermiamo scientology prima che sia troppo tardi!!!
http://xenu.com-it.net
 - 
http://xenu.freewinds.cx/
 - 
http://www.xenu.net/
(per rispondere personalmente leva IlDitoDalCulo)


 




Come vedi metà del codice che ho scritto sono commenti (a tuo uso e
consumo...)
I motivi di usare tutto quel codice principalmente sono due:
- aderenza agli standard
- portatilità
- facilità di modifica
Si, è vero, il tuo codice è molto più breve, ma questo va a discapito della
robustezza per il semplice motivo che *non fai nessun controllo* sulla
riuscita delle operazioni (non leggi mai il risultato dall'inputstream). A
livello di "produzione", questo codice avrebbe un'affidabilità pari o
inferiore al 10%.
Inoltre, nel caso dovessi usare un protocollo diverso (vedi IMAP) le
modifiche da fare al tuo codice ti porterebbero via molto più tempo
(riscrivere tutte le transazioni) rispetto alle modifiche sul mio (cambiare
un paio di proprietà).
Usare JavaMail ti consente di aderire sempre agli standard (qualsiasi sia il
protocollo usato) e di catturare e gestire eventuali condizioni anomale. Se
poi non lo usi perchè non vuoi scrivere troppo codice, puoi sempre affidarti
ad Apache Commons Email (che si appoggia a JavaMail) come suggeriva
tristano. Riporto il link:
http://jakarta.apache.org/commons/email/
Il mio esempio di prima in questo caso si ridurrebbe a:
...
//Liberamente tratto dalla documentazione di Apache Commons Email
// 
http://jakarta.apache.org/commons/email/examples.html
SimpleEmail email = new SimpleEmail();
email.setHostName("*indirizzo del server*");
email.addTo("*
destin...@server.com
", "*Nome Destinatario*");
email.setFrom("*
mitt...@server.com
*", "*Nome Mittente*");
email.setSubject("*oggetto del messaggio*");
email.setMsg("*testo del messaggio*");
email.send();
...
Semplice, chiaro e pienamente aderente allo standard.
HTH
-- 
Fermiamo Scientology prima che sia troppo tardi!!!



 
