Devo mandare delle email con Java. Guardando su internet, sono riuscita a scrivere questo codice:
codice:import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.URLName; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class Email { public static boolean sendEmail(String to, String subject, String msgText, String fileDaAllegare) { String from = "email@gmail.com"; String smtpServer = "smtp.google.com"; String Autenticazione_USER = "utente"; String Autenticazione_PWD = "password"; String porta = "465"; boolean esito=true; Properties props = System.getProperties(); //Setto il server per la spedizione props.put("mail.transport.protocol", "smtps"); props.put("mail.smtps.host", smtpServer); props.put("mail.smtp.port", porta); Session session = Session.getDefaultInstance(props, null); session.setDebug(true); session.setPasswordAuthentication(new URLName("smtp",smtpServer ,465,"INBOX",Autenticazione_USER,Autenticazione_PWD), new PasswordAuthentication(Autenticazione_USER,Autenticazione_PWD)); try { MimeMessage msg = new MimeMessage(session); //creo il messaggio msg.setFrom(new InternetAddress(from)); //setto il mittente InternetAddress[] address = {new InternetAddress(to)} ; msg.setRecipients(Message.RecipientType.TO, address); //setto il/i destinatario/i msg.setSubject(subject); //setto l'oggetto del messaggio //crea e compila la prima parte del messaggio MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setText(msgText); //crea la sewconda parte del messaggio MimeBodyPart mbp2 = new MimeBodyPart(); //inserisce il file come allegato del messaggio FileDataSource fds = new FileDataSource(fileDaAllegare); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(fds.getName()); Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); msg.setContent(mp); msg.setSentDate(new Date()); //invia il messaggio Transport.send(msg); } catch (Exception e) { e.printStackTrace(); esito=false; } return esito; } }
L'errore è: DEBUG: setDebug: JavaMail version 1.4.4
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "localhost", port 465, isSSL false
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 465;
nested exception is:
java.net.ConnectException: Connection refused
Aiutatemi, per favore. E' urgente

Rispondi quotando