Attraverso il mio client mail in java riesco senza alcun problema ad inviare mail da account hotmail.it tramite il seguente codice:
codice:
String smtpHost="smtp.live.com";
String da="esempio@host.it"
String password="esempio";
String a="altroEsempio";
String oggetto="prova";
Properties prop = new Properties();
prop.put("mail.smtp.starttls.enable", "true");
prop.put("mail.smtp.host",smtpHost);
prop.put("mail.smtp.user", da);
prop.put("mail.smtp.password", password);
prop.put("mail.smtp.port", "587");
prop.put("mail.smtp.auth", "true");
Session session=Session.getInstance(prop);
Message msg=new MimeMessage(session);
msg.setFrom(new InternetAddress(da));
msg.setRecipients(Message.RecipientType.TO,new InternetAddress(a));
msg.setSubject(oggetto);
d=new Date();
msg.setSentDate(d);
MimeBodyPart mbp=new MimeBodyPart();
String testo="ciao";
mbp.setContent(testo ,"text/html");
Multipart mp=new MimeMultipart();
mp.addBodyPart(mbp);
msg.setContent(mp);
Transport transport = session.getTransport("smtp");
transport.connect(smtpHost, da, password);
transport.sendMessage(msg, msg.getAllRecipients());
msg.saveChanges();
transport.close();
mentre con lo stesso procedimento per un account @hotmail.com ottengo la seguente eccezzione:
codice:
com.sun.mail.smtp.SMTPSendFailedException: 550 5.3.4 Requested action not taken; To continue sending messages, please sign in to your account.
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2057)
at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1862)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1100)
at mail.Ascoltatore.invia(Ascoltatore.java:88)
..............
..........
dove:
Ascoltatore.java:88 sarebbe la riga "transport.sendMessage(msg, msg.getAllRecipients());"
perchè non funziona?dove sbaglio?come posso risolvere?