View Full Version : [JAVA] Utilizzo JavaMail
85BaD_BoY85
20-08-2011, 12:25
Ragazzi ho bisogno del vostro aiuto: sto progettando un sito x il mio fantacalcio in Java e JS, questo mio sito deve avere la funzionalità "invio formazione" ke deve inviare la formazione via mail a tutti i partecipanti. X ora sto sviluppando in LOCALE e vorrei fare delle prove, c'è qualcuno che mi sa illustrare la procedura corretta?
P.S. ho anke già scaricato le API di JavaMail e di JAF e le ho importate in Eclipse, attendo solo istruzioni in merito ;)
Grazie in anticipo a tutti!
Un esempio semplice semplice :
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class ProvaMail
{
public static void main (String[] args)
{
String smtpHost = "out.virgilio.it";
String indirizzoDa = "
[email protected]";
String indirizzoA = "
[email protected]";
try
{
Properties props = System.getProperties ();
props.put ("mail.smtp.host", smtpHost);
Session session = Session.getDefaultInstance (props, null);
MimeMessage message = new MimeMessage (session);
message.setFrom (new InternetAddress (indirizzoDa));
message.addRecipient (Message.RecipientType.TO, new InternetAddress (indirizzoA));
message.setSubject ("Prova mail");
message.setText ("Ciao, prova di invio mail.");
Transport.send (message);
}
catch (Exception e)
{
System.out.println (e);
}
}
}
Ciao
85BaD_BoY85
20-08-2011, 13:46
Io sto testando in locale, va bene "out.virgilio.it" come host?
85BaD_BoY85
20-08-2011, 14:12
Ottimo, funziona ;) grazie mille...
Un'ultima cosa, se la volessi integrare il tutto con il mio progetto e chiamare la classe passandogli il messaggio ke voglio inviare da una jsp oppure da una js, come posso fare?
Non dovresti avere alcun problema ad integrarla in una jsp o servlet, passando in una inputText oppure in una inputTextArea il tuo sender oppure il testo della tua email.
Ti puoi fare un metodo ad hoc, che prende in input tutti i parametri che vuoi tu e che arrivano dalla jsp..
85BaD_BoY85
20-08-2011, 14:38
Grazie mille, sei stato gentilissimo ;)
85BaD_BoY85
20-08-2011, 15:33
Scusa di nuovo il disturbo, un'ultimissima cosa: se nella mail voglio far apparire A CAPO tutte le parole contenenti nel message.setText(); come posso fare?
Ho usato \n ma nn va.
Devo essere sincero non ho mai provato a mandare a capo il testo di una mail, però effettivamente nel wiki http://en.wikipedia.org/wiki/Javamail
sembra che si debba appunto fare con un new line forzato, tipo :
msg.setText("This is a test of sending a " +
"plain text e-mail through Java.\n" +
"Here is line 2.");
85BaD_BoY85
20-08-2011, 18:50
Ho trovato, la stringa giusta è \r\n
Grazie cmq x la disponibilità! ;)
Ho trovato, la stringa giusta è \r\n
Grazie cmq x la disponibilità! ;)
Scusa ma se metti <br/>? Il fatto che funziona /r/n probabilmente è perché ti trovi su Windows: http://it.wikipedia.org/wiki/Newline
85BaD_BoY85
21-08-2011, 18:00
Ci ho pensato, ma x chiamare la classe x inviare la mail, uso una JS quindi essendo <br /> un tag nn mi va bene e me la prende come stringa.
Grazie cmq x il suggerimento!
Scusa ma se metti <br/>? Il fatto che funziona /r/n probabilmente è perché ti trovi su Windows: http://it.wikipedia.org/wiki/Newline
Direi che dipende anche dal Content-Type...
se spedisci una mail text/plain (visto che sopra parla di plain text) un <br/> _non_ e' la soluzione...
Direi che dipende anche dal Content-Type...
se spedisci una mail text/plain (visto che sopra parla di plain text) un <br/> _non_ e' la soluzione...
true. Non c'avevo pensato.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.