Enviar mails desde la línea de comandos

Mail es un comando de Linux con el que podremos mandar correos desde la línea de comandos.

 

El comando es bastante útil, ya que desde la simple línea de comandos se puede enviar correos, adjuntando archivos, o enviarlo a varias direcciones. Esto implica que puedes hacer un script que envíe un archivo cada cierto tiempo, o lo que necesites!

Lo primero que tendremos que hacer pruebas de correo saliente con Exim 4 instalado en un servidor Debian. Básicamente tenemos que determinar si los mails salían y si eran recibidos o rebotados. El procedimiento es sencillo.

Primero se debe abrir el log principal de Exim en una consola usando tail con la opción ‘-f’:

tail -f /var/log/exim4/mainlog

En la consola, se envía un mail a un remitente cualquiera utilizando el comando “mail” con las opciones ‘-s’ para indicar el asunto, ‘-r’ para indicar la dirección de respuesta y luego la dirección del remitente

mail -s “Asunto” -r “paco@ejemplo.com” pepe@ejemplo2.es

Inmediatamente se debe escribir el cuerpo del mensaje. Para finalizar el correo y que lo envíe, damos Enter para posicionarnos en una línea vacía y tenemos dos opciones:

Podemos escribir un punto “.” (sin comillas) y dar Enter o:

Podemos dar la combinación de teclas Ctrl+D

Luego de ejecutar el comando “mail” se puede ver en el log de Exim el tráfico saliente. Si el mail no se puede entregar por cualquier razón, es posible ver el estado de la cola de mensajes de Exim con el siguiente comando:

lexim -bp

Este comando muestra una línea por cada mensaje incluyendo el ID y el asunto. Si deseamos borrar un mensaje de la cola, se puede utilizar el comando “exim” con las opción ‘-Mrm’ indicando el ID de mensaje:

exim -Mrm [msgid]

Es posible ver el contenido de un mensaje en cola mediante:

exim -Mvc [msgid]

Para forzar a Exim a que intente reenviar todos los mensajes que tiene en cola, se debe hacer un “flush queue”:

exim -qff

Espero que les sirva!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.