Envío de emails utilizando SSL (v13.01)

Inicio Foros Foro principal Desarrolladores Envío de emails utilizando SSL (v13.01)

  • Este debate está vacío.
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Autor
    Entradas
  • #32610
    Saulo Gil
    Miembro

    Hola a todos,

    Quería compartir un poco la odisea que fué hacer andar el envío de emails utilizando un servidor seguro (e.g.: GMail). Esto aplica a la versión 13.01.

    Introducción

    Para empezar debe configurarse el acceso al servidor SMTP a utilizar ingresando con el perfil de Configuración, ventana Compañia. Allí deben completarse (casi) todos los campos en la sección Gestión de Mensajes. Al menos en mis pruebas no completé la casilla Carpeta de Mensajes.

    Importante: Si se habilita la Autorización servidor SMTP, el sistema por default va a buscar el usuario y pass de SMTP definidos para el usuario del ERP que va a mandar el email. Es decir que en este caso, por default no se utilizan las credenciales que se proveen en esta pantalla.

    Código

    Acá viene la parte divertida. La librería mail.jar incluida en esta versión no soporta el envío de emails por SSL, es por esto que debe actualizarse mail.jar por una versión más actual. A nosotros nos funcionó con la v1.4.5.

    Luego hay que editar el archivo base/src/org/openXpertya/util/EMail.java con los siguientes cambios:

    Luego de

    Code:
    props.put( “mail.host”,m_smtpHost );

    agregar

    Code:
    props.put(“mail.smtp.port”, “465”);
    props.put(“mail.smtp.starttls.enable”, “true”);
    props.put(“mail.smtp.auth”, “true”);
    props.put(“mail.smtp.starttls.enable”,”true”);
    props.put(“mail.smtp.EnableSSL.enable”,”true”);
    props.put(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”);
    props.put(“mail.smtp.socketFactory.fallback”, “false”);
    props.put(“mail.smtp.socketFactory.port”, “465”);

    más abajo reemplazar

    Code:
    Transport t = session.getTransport( “smtp” );

    por

    Code:
    Transport t = session.getTransport( “smtps” );

    Eso es todo, que lo disfruten! :)

    #38135
    Federico Cristina
    Superadministrador

    Buenas,

    Ante todo, felicitaciones por el trabajo realizado!

    Te comento que algo de esto ya hemos implementado en Libertya un tiempo atrás y será parte del nuevo release próximo a salir. Si te fijás en el log SVN, la revisión r458 incluye modificaciones como por ejemplo la librería mail.jar.

    Saludos!

    #38136
    Saulo Gil
    Miembro

    Hola, que pena que no llegué a ver la actualización de mail.jar antes, eso me hubiese ahorrado algo de tiempo :)

    Por lo que vi en ese commit no se habilita el puerto 465 explícitamente, espero que eso no sea un problema. Este es el puerto por default para SMTP seguro asi que probablemente funcione bien así como viene.

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Debes estar registrado para responder a este debate.