Newsgroup: it.comp.java
Titolo: JAVA spedire una mail con SSL

Salve
ok lo ammetto non sono un esperto java, anzi ne so veramente poco :
$... cerco da un paio di giorni di inviare una mail con il protocollo
SSL, ma l'errore
DEBUG SMTP: trying to connect to host "156.54.240.55", port 25, isSSL
false
il codice è questo... chi mi da una mano (e in questo momento sono in
ginocchio :o) )
public class Main
{
 	private static final String SMTP_HOST_NAME =  "indirizzo IP";
	private static final String SMTP_PORT = "porta";
	private static final String SMTP_AUTH_USER = "user";
	private static final String SMTP_AUTH_PWD = "passwd";
	private static final String SMTP_FROM_ADDRESS = "indirizzo mittente";
//Send to a single recipient
	public void sendMail(String email, String subject, String text)
		throws Exception
	{
		String[] emailList = new String[1];
		emailList[0] = email;
		sendMail(emailList, subject, text);
	}
////Send to multiple recipients
	public void sendMail(String[] emailList, String subject, String text)
		throws Exception
	{
		boolean debug = true;
		Properties props = new Properties();
		props.put("mail.smtp.host", SMTP_HOST_NAME);
		props.put("mail.smtp.auth", "true");
		props.put("mail.debug", "true");
		props.put("mail.smtp.user", SMTP_AUTH_USER);
		props.put("mail.smtp.password", SMTP_AUTH_PWD);
		props.put("mail.smtp.port", SMTP_PORT );
		Authenticator auth = new SMTPAuthenticator();
		Session session = Session.getDefaultInstance(props, auth);
		session.setDebug(debug);
		Message msg = new MimeMessage(session);
		InternetAddress addressFrom = new
InternetAddress(SMTP_FROM_ADDRESS);
		msg.setFrom(addressFrom);
		InternetAddress[] addressTo = new InternetAddress[emailList.length];
		for (int i = 0; i < emailList.length; i++)
		{
			addressTo[i] = new InternetAddress(emailList[i]);
		}
		msg.setRecipients(
Message.RecipientType.TO
, addressTo);
		msg.setSubject(subject);
		msg.setContent(text, "text/plain");
		Transport.send(msg);
	}
	private class SMTPAuthenticator extends javax.mail.Authenticator
	{
		public PasswordAuthentication getPasswordAuthentication()
		{
			String username = SMTP_AUTH_USER;
			String password = SMTP_AUTH_PWD;
			return new PasswordAuthentication(username, password);
		}
	}
         public static void main(String[] args) throws
AddressException, MessagingException {
        // Send a test message
        Main send = new Main();
        try {
            send.sendMail("indirizzo destinatario", "oggetto",
"corpo");
        } catch (Exception ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE,
null, ex);
        }
    }
}

 		Transport.send(msg);
facendo cosi' mi sa che usa la default Session
prova cosi':
tr = s.getTransport("smtp");
tr.connect(mailServerIP,mailServerPort,mailServerUname, mailServerPwd);
tr.sendMessage(msg,
msg.getAllRecipients()); 
tr.close();

 }
-- 
Andrea Francia
http://andreafrancia.blogspot.com/2008/07/colinux-linux-dentro-windows.html

 Andrea Franciahttp://
andreafrancia.blogspot.com/2008/07/colinux-linux-dentro-window.
..
Grazie per le dritte. Ora faccio qualche prova.

On 16 Ott, 18:08, hybris <hybr...@NOSPAMgmail.com> wrote:

Ringrazio anche te per la gentilezza... ora faccio un pò di prove.

On 16 Ott, 18:08, hybris <hybr...@NOSPAMgmail.com> wrote:

Ringrazio anche te per la gentilezza... ora faccio un pò di prove.

Salve,
allora per quanto riguarda la porta è SSL perchè hanno configurato un
server di posta ad hoc, utilizzando la porta di default come porta
SSL.
Riguardo al codice, l'ho modificato... e l'errore che mi da ora è:
javax.mail.MessagingException: Exception reading response;
  nested exception is:
        javax.net.ssl.SSLHandshakeException: Remote host closed
connection during handshake
        at
com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:
1462
        at
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1260)
        at
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:
370)
        at javax.mail.Service.connect(Service.java:275)
        at javax.mail.Service.connect(Service.java:156)
        at javax.mail.Service.connect(Service.java:105)
        at sslmail_jdk14.Main.sendRequest(Main.java:59)
        at sslmail_jdk14.Main.main(Main.java:162)
Spero tanto che mi sappiate aiutare...
Grazie Mille