¿Usando javamail para enviar desde hotmail?

Tengo gmail y yahoo trabajando, pero no hotmail. Esto es lo que tengo, ¿qué estoy haciendo mal?

private String mailhost = "smtp.live.com"; public hotmailSenderActivity(String user, String password) { this.user = user; this.password = password; //This connects to the actual mailserver Security.addProvider(new com.provider.JSSEProvider()); Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.host", mailhost); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.socketFactory.port", "587"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("smtp.starttls.enable", "true"); props.put("mail.smtp.socketFactory.fallback", "false"); props.setProperty("mail.smtp.quitwait", "false"); session = Session.getDefaultInstance(props, this); 

He intentado el puerto 25 + 587 sin las cosas SSL. He probado el puerto 465 CON las cosas SSL. El correo electrónico y la contraseña son correctos (he estado codificado para estar seguro).

No recibo ningún error … Entonces, ¿cuál es el problema?

1) utilizar la salida de depuración:

 session.setDebug(true); 

2) el servidor smtp de hotmail inicia una conexión no ssl en el puerto 25 o 587, y utiliza los arranques después de la conexión inicial; por lo tanto eliminar líneas

props.put (“mail.smtp.socketFactory.port”, “587”);
props.put (“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”);

3) la cantidad mínima de ajustes es entonces:

  props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.host", "smtp.live.com"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.auth", "true"); 

esto supone que el puerto es 25, de lo contrario, agregue props.put (“mail.smtp.port”, “587”);

4) aún más bonito se ve esto:

  ... props.put("mail.smtp.starttls.enable", "true"); Session session = Session.getDefaultInstance(props); Transport trans = session.getTransport("smtp"); trans.connect("smtp.live.com", 25, "user", "pass"); 

ahora que estás conectado, utiliza métodos de transporte

http://www.oracle.com/technetwork/java/javamail/faq/index.html#hotmail

Deshazte de todas esas cosas de fábrica de socket, no lo necesitas.