codice:
package example.server; import java.util.Properties; import javax.mail.Message; import javax.mail.NoSuchProviderException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class TestMail { public static void main(String[] args) throws Exception { TestMail sender = new TestMail(); sender.send("xxx@virgilio.it", "nome");//destinatario } //Smpt = server posta in uscita //POP3=server posta in entrata public void send(String destinatario, String name) throws Exception { Properties props = new Properties(); props.put("mail.smtp.host", "smtp.live.com"); props.put("mail.smtp.socketFactory.port", "25"); props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "25"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("xxx@hotmail.it","xxx"); // inserire email e password } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("xxx@hotmail.it")); // mittente message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(destinatario)); message.setSubject("Benvenuto!!"); message.setText("Ciao " + name); // Transport.send(message); Transport transport = session.getTransport("smtp"); transport.connect("smtp.live.com",25,"xxx@hotmail.it","xxx"); // inserire email e password transport.sendMessage(message, message.getAllRecipients()); transport.close(); System.out.println("Mail inviata con successo!"); } catch (NoSuchProviderException e) { e.printStackTrace(); throw new Exception(e); } } }
mi da il seguente errore:
Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: smtp.live.com, port: 25 (javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTra nsport.java:1934)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SM TPTransport.java:638)
at javax.mail.Service.connect(Service.java:248)
at it.unicam.cs.ap.server.TestMail.send(TestMail.java :45)
at it.unicam.cs.ap.server.TestMail.main(TestMail.java :15)
Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at com.sun.net.ssl.internal.ssl.InputRecord.handleUnk nownRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unkn own Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRec ord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.perform InitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHa ndshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHa ndshake(Unknown Source)
at com.sun.mail.util.SocketFetcher.configureSSLSocket (SocketFetcher.java:507)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFe tcher.java:238)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTra nsport.java:1900)
... 4 more