Enviar correo desde la línea de comandos con “mail”

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

consola-linux-shell

Hace ya un tiempo que conocí el comando “mail” que permite enviar correos desde la línea de comandos. Pero por más que lo probaba, leia tutoriales y consultaba la página “man” del comando no era capaz de hacer que el dichoso comando funcionase y enviara correos.

Hasta que hoy he visto un vídeo que me ha aclarado todo. Me faltaba configurarlo para que utilizara gmail (en este caso, pero supongo que valdrá con otros proveedores de correo) como gestor de correo saliente.

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!!

Así que pongo esto por aqui, por si lo consideras útil y para acordarme la próxima vez! ;)y también pondré el vídeo en cuestión. Empecemos.

Lo primero que tendremos que hacer es editar como superusuario el archivo de configuración  /etc/mail.rc añadiéndolelas siguientes líneas:

set smtp-use-starttls
set ssl-verify=ignore
set smtp-auth=login
set smtp=smtp://smtp.gmail.com:587
set from=”tu.direccion.de.correo@tu.dominio
set smtp-auth-user=tu.direccion.de.correo@tu­.dominio
set smtp-auth-password=tu.password
set ssl-verify=ignore

Cambiando obviamente los datos en negrita por los tuyos propios 😉 Una vez editado y guardado el archivo de configuración ya sólo queda ejecutar el comando, por ejemplo así:

mail -s "asunto" geeko@correo.com

Con la opción -s especificamos entre comillas el asunto del correo y seguidamente ponemos la dirección a la que queremos enviar el correo. Seguidamente a esto podremos escribir el cuerpo del propio correo con lo que queramos.

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) o y dar Enter
  • Podemos dar la combinación de teclas Ctrl+D

Con esto hace una marca de fin de texto y envía el cuerpo del correo, con el asunto especificado al correo que hemos dicho!! Así de sencillo!!

En el vídeo que os presento utiliza nail, y hace un enlace simbólico, bueno, esto no creo que sea necesario, también nos muestra cómo adjuntar un archivo con la opcción -a y la ruta del archivo. Imaginad las posibilidades!! Espero que os sea útil.

——————————————————————–

 

25 pensamientos en “Enviar correo desde la línea de comandos con “mail”

  1. Hola, perdon la ignorancia, pero el comando para la instalacion, es:
    sudo apt-get install mailutils?
    Gracias por la respuesta.

    • Hola!
      Lo siento no uso Debian ni derivadas, así que no sé cual es el paquete a instalar.
      Prueba, o mira si ya viene instalado “de serie” en tu distro.
      Saludos.

  2. Esta muy bueno!!! te puedo hacer una consulta?
    como hago para que me envié un informe automáticamente a mi correo, por ejemplo, tengo configurado en mi servidor para que me haga un snapshot automáticamente, y cuando lo termine que me envíe un reporte, para saber si se hizo el snapshot o si fallo.

    • Hola!
      Me alegro si te sirvió.
      Sobre lo que preguntas, dberías escribir un script que automatice la tarea.
      Lamentablemente mi tiempo y conocimientos no dan para tanto! 😉
      Puedes buscar info por la red sobre el tema, o preguntar en algún foro por si te pueden dar pistas más concretas.

      Gracias por comentar y la visita.
      Saludos!!

  3. Yo apenas soy capaz de configurar un gestor de correo normal, si consigo enviar un mail desde la línea de comandos tendré que darme al alcohol para celebrarlo 😆

  4. Gracias por la ayuda, pero me da este error:
    Unexpected EOF on SMTP connection
    “/home/informix/dead.letter” 11/327
    . . . message not sent.
    Que podra ser ??? 😦

  5. No encuentro el archivo de configuración “mail.rc”, ya le he buscado en “/etc” y no está. ¿Qué puedo hacer?

  6. Hola muy buen post… pero segui tus pasos al pie de la letra y me sale el siguiente error:

    Could not resolve host: smtp.gmail.com
    “/root/dead.letter” 11/342
    . . . message not sent.

    No se que pueda ser.

    Saludos de antemano

    • Vaya…
      Recuerdo haber escrito el artículo y haber mandado correos…
      En el vídeo se explicaba de manera más gráfica.
      No sé si habrá cambiado algo desde entonces…

      Miraré a ver…

      Saludos.

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s