lunes, 6 de abril de 2009

Alternativas a Postfix: ssmtp

Habitualmente , no necesitamos configurar un servidor de correo en un sistema Linux de escritorio. La mayoría de los clientes de email gráficos(GUI), como por ejemplo Mozilla Thunderbird, soportan configuraciones IMAP y POP3 para cuentas de Gmail.Pero, ¿cómo envías un email por el típico /usr/bin/mail o por un shell script? Aplicaciones como Sendmail,Postfix o Exim pueden ser configurados como relayhost de Gmail, pero requieren un mayor tiempo de configuración.

Podemos usar Gmail como "smart host" para enviar todos los mensajes desde un sistema Linux/Unix de escritorio. Necesitas una aplicación simple llamada ssmtp, que acepta el envio de mensajes desde una entrada estándar a buzones de correo específicos desde la línea de comandos , que redirige el mensaje al MTA configurado como relayhost. Los mensajes fallidos se depositan en el fichero dead.letter, dentro directorio home del usuario que envia el mensaje.
Instalar ssmtp
En sistemas Fedora/RedHat/CentOS

[root@localhost] yum install ssmtp

En sistemas Debian GNU/Linux / Ubuntu

[root@localhost] apt-get update && apt-get install ssmtp

Configurar gmail como relayhost:
Editamos el fichero /etc/ssmtp/ssmtp.conf con el siguiente contenido

AuthUser = usuario@gmail.com
AuthPass = passwordgmail
FromLineOverride = YES
mailhub = smtp.gmail.com:587
UserSTARTTLS = YES

También debemos asegurarnos de deshabilitar Sendmail:
En sistemas Fedora/RedHat/CentOS

[root@localhost] service sendmail stop
[root@localhost] chkconfig sendmail stop
[root@localhost] mkdir /root/.backup
[root@localhost] mv /usr/sbin/sendmail /root/.backup
[root@localhost] ln -s /usr/local/ssmtp/sbin/ssmtp /usr/sbin/sendmail

En sistemas Debian GNU/Linux / Ubuntu

[root@localhost] /etc/init.d/sendmail stop
[root@localhost] update-rc.d -f sendmail remove
[root@localhost] mkdir /root/.backup
[root@localhost] mv /usr/sbin/sendmail /root/.backup
[root@localhost] ln -s /usr/local/ssmtp/sbin/ssmtp /usr/sbin/sendmail

Ahora ya podemos usar el comando mail o mailx para enviar mensajes, y probar la configuración con el siguiente ejemplo:

echo "Email Prueba" | mail -s "Probando 1,2,3" usuario@dominio.com

Nota acerca de ssmtp:
ssmtp funciona perfectamente para equipos de escritorio, pero no es un reemplazo a Sendmail, Postfix o Qmail.
Nota del traductor: Añadida la distinción entre Debian/Fedora a la hora de deshabilitar sendmail.El artículo original lo podéis encontrar aquí , escrito por Vivek Gite.


No hay comentarios: