Como testear el envio de correos sin tener que levantar un Servidor de Correo

 

Cuando desarrollamos aplicaciones casi siempre tenemos que replicar el entorno de ejecución en nuestra máquina de desarrollo a fin de poder desarrollar lo mas offline posible. Cuando las aplicaciones son sencillas solo basta con instalar un par de servicios y a otra cosa mariposa, cuando la aplicación comienza a crecer hay que empezar a instalar mas y mas cosas como servicios de autenticación, caches, frontends controllers, herramientas de deploy, gestión de ciclo de vida, servidores de base de datos relacionales y no relacionales, etc, etc.

Unos de los primeros que siempre se asoma es el servidor de correo, casi todos los sitios webs siempre tienen que enviar correos a alguien por ende siempre hay que tener algo para testear que los correos salen de nuestra aplicación y van al servidor de correo.

Hace muchos años que vengo usando Ssmtp como herramienta para hacer relay del servidor de correo y lo conecto con mi cuenta de Gmail para ver si los correos salen. Nunca me a defraudado y la instalación es bastante sencilla. Aquí un link a una excelente guía para Fedora

http://crashmag.net/setting-up-ssmtp-with-gmail
http://www.graphics-muse.org/wp/?p=781 (Alternatives)
http://www.nixtutor.com/linux/send-mail-with-gmail-and-ssmtp/ (Debian)

Tengan en cuenta que en fedora hay que cambiar el alternatives de mta por que no lo cambia solo, por defecto usa sendmail. Debian y Ubuntu son mas piolas y al instalar ssmpt (apt-get install ssmtp) ya lo pone como servicio por defecto, solo queda configurar el ssmtp.

Hoy me ví en la necesidad de probar algo mas offline aun dado que no podía conectarme a Gmail (estaba aislado en una VPN sin salida a Gmail) y buscando un poco me encontré con FakeSMTP, esta es una App que simula un servidor de correo y permite ver que peticiones de envio de correo llegan al servidor y hasta permite mirar y almacenar los correos que le llegan, es muy sencilla de usar, solo necesitan tener instalado java y darle un java -jar FakeSMTP.jar.

http://nilhcem.github.com/FakeSMTP/

Como dato interesante, al ser una aplicación java, me funcionó en Mac y en Linux. En windows probablemente tambien funcione.

Alguna vez ví algo similar para Windows llamado smtp4dev, pero creo que solo funciona en Windows

http://smtp4dev.codeplex.com/

Share

Instalar PHPUnit

Escribo este post por que siempre me olvido de los pasos para instalar PHPUnit y los quiero tener a mano. Espero que les sirva a ustedes tambien :D. Estos comandos deberían ejecutarse como root.


apt-get install php5-curl php5-xdebug
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear upgrade PEAR
pear install phpunit/PHPUnit

Si estas detraz de un proxy, antes que nada setalo.

pear config-set http_proxy http://url.a.tu.proxy:3128

Mas info http://www.phpunit.de/manual/3.5/en/index.html

Share