Aprendiendo contabilidad, fiscalidad, laboral,…y linux

Enviar mails desde la consola de ubuntu.

Cuando trabajamos con GNU/Linux, en algunos casos tenemos la necesidad de enviar un correo pero no queremos ir al navegador, etc, etc. Más aún, si el destinatario es uno en concreto o varios pero pocos, con lo cual lo podemos mecanizar para hacer todo el proceso con solo teclear una palabra en la terminal.

Explicaremos el método basado en exim4 que nos permite enviar correo desde consola, pero no puede enviar archivos adjunto dentro del correo, pero puede agregarlo dentro del cuerpo de correo. La sintaxis básica es:

Ejemplo 1.1, incrustar un fichero en el mail:

mail -s “firewall” pepitoperez@hotmail.com < /home/pepitoperez/chorrada.pdf

Ejemplo 1.2, a varios destinatarios:

echo "PARTIDO DE BALONCESTO EL JUEVES A LAS 20:00 DONDE SIEMPRE" | mail -s "BALONCESTO" pepitoperez@hotmail.com -c AMIGO1pepitoperez@hotmail.com -c AMIGO2pepitoperez@hotmail.com

Antes de poder usarlo, necesitamos instalar dos paquetes:

sudo apt-get install exim4 exim4-config exim4-daemon-light

Ahora para configurarlo, tendremos que irnos a un terminal y teclear:

dpkg-reconfigure exim4-config

En la reconfiguración/instalación contestamos a las preguntitas de la siguiente forma:

  • Opción 2 (El correo se envía mediante un «smarthost»; se recibe a través de SMTP)–
  • Pantalla informativa (simplemente le damos a aceptar)…
  • Nombre del sistema de correo: tucorreo@gmail.com.
  • Pantalla informativa. Aceptamos.
  • Direcciones IP en las que recibir conexiones SMTP entrantes: 127.0.0.1 (Podemos dejarlo tal y como está, con 127.0.0.1 ; ::1. No sirve poner solo localhost).
  • Pantalla informativa sobre los dominios locales. Aceptamos.
  • Otros dominios para los que se acepta el correo: Enter (Dejamos como está, con localhost)
  • Máquinas para las cuales reenviar correo: Aceptamos con Enter (No ponemos nada)
  • Pantalla informativa sobre el servidor saliente smarthost. Aceptamos.
  • Direccion IP o nombre del equipo (smarthost) saliente: En este caso, ponemos el de google: smtp.gmail.com::587 (Si queremos usar otros correos, deberemos poner aqui sus datos de su servidor SMTP)
  • Desea ocultar el nombre de correo local en los mensajes salientes? NO
  • Pantalla informativa sobre consultas DNS. Aceptamos.
  • Limitar el numero de consultas DNS? NO
  • Pantalla informativa sobre el formato mbox. Aceptamos.
  • Mecanismo de entrega para el correo local: 1 (formato mbox en /var/mail)
  • Pantalla informativa sobre configuración concentrada o segmentada. Aceptamos.
  • Dividir la configuración en pequeños ficheros? Sí
  • Pantalla informativa sobre postmaster y mister root. Aceptamos (Mucha información, sí, total pa náaa)
  • Destinatario del correo de root y postmaster: Enter (No ponemos nada)
  • Pooooooor fiiiiiiinnnn ya tenemos la aplicación configurada. Solo le damos permisos y personalizar nuestro correo.

Cambiamos el propietario del archivo de contraseña a root o a nuestro usuario habitual:

sudo chown root:Debian-exim /etc/exim4/passwd.client

Ahora editamos el archivo /etc/exim4/passwd.client, de forma que añadamos al final nuestros datos de correo de gmail.

sudo gedit /etc/exim4/passwd.client

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
gmail-smtp.l.google.com:tucorreo@gmail.com:tucontraseña
*.google.com:tucorreo@gmail.com:tucontraseña
smtp.gmail.com:tucorreo@gmail.com:tucontraseña

Reiniciamos el servidor de correo

/etc/init.d/exim4 restart

Caso de aparecernos un error del tipo

* ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken

Borramos el fichero y volvemos a reiniciar

sudo rm /var/log/exim4/paniclog
/etc/init.d/exim4 restart

La herramienta ya está del todo lista. No queda más que usarla.

En el caso de que posteriormente nos suceda lo de recibir un mail tipo “Mail Delivery Subsystem Delivery Status Notification (Failure)” blablabla, tenemos que suprimir la linea de cron de sendmail de la siguiente forma:

sudo gedit /etc/cron.d/sendmail

y la linea que comienza por /*20 * *, la comentamos (Le ponemos un # al principio). Reiniciamos tambien sendmail, para validar los cambios, con:

sudo /etc/init.d/sendmail restart
  • http://wasesores.com/ Wasesores

    Me temo que anónimo 100%…es difícil; la ip pública me da que siempre es snifable. Mejor hay varios servicios web muy buenos para eso.

  • http://wasesores.com/ Wasesores

    Gracias por comentar y por su visita!!! Espero le sirva.

  • http://www.facebook.com/oscarherediallorens Óscar Heredia

    Genial!!! Siempre se me olvida todo esto y me toca vovlerlo a hacer.
    Muchísimas gracias.

  • myMailing

    Muy bueno tu artículo, solo una cosa, como enviar un email anónimo

RECUERDE QUE:

Los textos y cualquier otra información aquí publicada están destinadas a un uso meramente informativo y documental. El autor o los autores de este sítio, no se hacen responsables de posibles inexactitudes en el contenido, ni de posibles perjuicios por su utilización. Los únicos textos que tienen validez jurídica son los publicados en los Boletines y Diarios Oficiales.

Creative Commons License

Comentarios recientes