13 jul. 2013

Muchas veces tenemos que hacer frente a servidores en base Linux que carecen de interfaz gráfica o simplemente necesitamos que un scripts nos remita una alerta mediante un correo.

Con SSMTP podremos enviar correos mediante nuestra consola de comandos o desde algún programa o script que así lo requiera. Básicamente vamos a instalar un servidor de correo en nuestra máquina y lo enlazaremos con nuestra cuenta de Google (gmail) para los envíos.



Instalación

Para instalar ssmtp tendremos que seguir los siguientes pasos, se usará un sistema operativo Ubuntu 12.04 para las pruebas:

1) Abrir nuestra terminal de Linux y teclear la siguiente orden.
sudo apt-get install ssmtp
2) Abrimos el archivo /etc/ssmtp/ssmtp.conf y editaremos las siguientes líneas.

UseSTARTTLS=YES 
root=usuario@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=usuario de gmail sin gmail.con
AuthUser=usuario de gmail
AuthPass=tu_password
Eliminaremos también el carácter # que aparece antes de la línea que contiene FromLineOverride=YES

En el párrafo anterior tendremos que ir sustituyendo todo por nuestra propia información.

3) Tenemos que tener mucho cuidado con este fichero pues, como se ha podido comprobar, nuestra contraseña de gmail estará guardada en él. Lo mejor que podemos hacer es protegerlo contra lectura de cualquier usuario que no sera root.
sudo chmod 700 /etc/ssmtp/ssmtp.conf

4) Editamos el fichero /etc/ssmtp/revaliases y añadiremos lo siguiente.
root:usuario@gmail.com:smtp.gmail.com:587
tu_usuario_en_Linux:usuario@gmail.com:smtp.gmail.com:587
Con estas lineas podremos indicar qué correo tendrá cada usuario de nuestro sistema. En el ejemplo que se acaba de poner sería el mismo para root y para nuestro usuario pero puede ser distinto.

Ya está configurado nuestro SSMTP, ahora si queremos enviar correos podremos hacerlo de las dos siguientes maneras.

ssmtp correo_destino@dominio.com

O
 ssmtp correo_destino@dominio.com < mensaje_correo.txt

Para el primer caso nos aparecerá un puntero parpadeando. Nos está indicando que vamos a crear el mensaje, así que vamos a ver qué forma tiene un correo.

Subject: esto es una prueba desde consola
<dejamos una línea en blanco>
Este es el cuerpo del mensaje de prueba escrito desde consola.
<Para finalizar el mensaje pulsaremos Ctrl+D y se enviará automáticamente>

Esta es la sintaxis básica de cualquier correo enviado por ssmtp. Si optamos por la segunda opción y no tiene esta sintaxis, se enviara el contenido sin asunto al correo que le hayamos indicado.




Reacciones:

2 comentarios:

  1. Para windows también se puede hacer un poco difererente: http://lordpakus.blogspot.com.es/2012/05/tutorial-de-batch-desde-0-como.html

    ResponderEliminar