Configurar una cuenta de Gmail en Liferay(con Tomcat)

15-07-2014
 

En Liferay, en realidad en Java en general, cuando queremos configurar un recurso en nuestro servidor de aplicaciones web que requiere aceptar un certificado de seguridad, este, debe estar en nuestro keytool. Es decir, que para configurar una cuenta de Gmail debemos importar el certificado su certificado al repositorio de certificados de Java.

EL primer paso será descargarnos el certificado de Gmail:

	openssl s_client -connect smtp.gmail.com:465
Download Certificado SSL de Google

Download Certificado SSL de Google

Esto nos devolverá información del certificado como la que tenemos en el pantallazo. Debemos seleccionar y copiar el contenidos que tenemos entre ‘—BEGIN CERTIFICATE—‘ y ‘— END CERTIFICATE —‘ y copiarlo en un archivo, en mi caso ‘gmail.cert’.

Una vez hecho esto podremos importar el certificado a nuestro keystore (Ojo con los path, hay que importarlo a la carpeta ‘keystore’ de nuestra JVM(Java Virtual Machine)).

sudo keytool -import -alias smtp.gmail.com -keystore /path/to/keystore -file /path/to/gmail.cert

Ahora ya podremos configurar nuestro Tomcat editando el fichero ‘/tomcat-…/conf/Catalina/localhost/ROOT.xml’ y añadiendo:

<Context path="" crossContext="true">
	<Resource name="mail/MailSession" auth="Container" type="javax.mail.Session" mail.store.protocol="imap" mail.transport.protocol="smtp" mail.from="mail from" mail.smtp.host="smtp.gmail.com" mail.smtp.port="465" mail.smtp.auth="true" mail.smtp.user="mail user" mail.smtp.password="ElPassword" mail.smtp.starttls.enable="true" mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"/>
</Context>

Y por último configuramos nuestro portal-ext.properties para que Liferay mande los mails con nuestra cuenta de correo electrónico:

mail.session.jndi.name=mail/MailSession

Y eso es todo, espero que os sirva.

Leave a Reply

© Albert Coronado Calzada