Configurar correo en una Raspberry Pi

Una de las primeras cosas que tuve que buscar en Internet antes de empezar mis proyectos en Raspberry fue cómo configurar correo en una Raspberry. Como normalmente la idea de la Raspberry es dejarla «desatendida», sin monitor ni teclado, creo que es crítico enterarse qué ocurre, qué tareas cron se ejecutan, etc.

Lo que yo necesitaba era que la Raspberry pudiera enviar correo utilizando una cuenta de correo normal (en mi caso Gmail), y poder recibir estos correos en otra cuenta.

Mi proyecto más importante es un sistema de videovigilancia, y para cualquier evento era necesario recibir correos del sistema. Pero luego, he ido agregando tareas a la misma Raspberry y me sirvió ya tener configurado el correo con exim4.

Configurar correo en una Raspberry Pi (usando exim4)

Lo primero es instalar exim4, utilizando:
sudo apt-get install exim4
Al instalar este paquete, nos hará una serie de preguntas de cómo queremos configurar exim4. Para que pueda enviar correos usando una cuenta externa, debemos responder las preguntas usando una configuración específica. Si no nos hace estas pregunta, nos equivocamos al responder, o tenemos que reconfigurar exim4, podemos lanzar este comando para dejar exim4 funcionando con Gmail (u otro servicio de correo):
sudo dpkg-reconfigure exim4-config
Configurar correo en una Raspberry

Y la configuración que debemos poner para que Raspberry pueda enviar correos vía Gmail:

  • El correo se envía mediante un «smarthost»; se recibe a través de SMTP
  • Nombre del sistema de correo: utilizar el nombre de servidor (raspberrypi por defecto)
  • Direcciones IP en las que recibir conexiones SMTP entrantes: 127.0.0.1 ; ::1
  • Otros destinos para los que se acepta el correo: dejar como en la segunda pregunta (raspberrypi)
  • Máquinas para las cuales reenviar correo: dejar en blanco
  • Dirección IP o nombre de equipo para el «smarthost» saliente: poner el servidor SMTP por el cual queremos enviar el correo saliente. Para Gmail smtp.gmail.com::587
  • Desea ocultar el nombre de correo local en los mensajes salientes? Responder que no
  • Limitar el número de consultas de DNS (marcación bajo demanda)? Responder que no
  • Mecanismo de entrega para el correo local: formato mbox en «/var/mail»
  • Dividir la configuración en pequeños ficheros? Responder que no

Después de estas preguntas, exim4 se reiniciará y con esto ya estamos a mitad de camino. Falta configurar la dirección de correo del sistema, la cuenta desde la cual se enviarán todos los correos del sistema. Hay que editar el fichero y agregar la cuenta.
sudo vi /etc/exim4/passwd.client
Y agregar los detalles de la cuenta:
*.google.com:CORREO@GMAIL.COM:CONTRASEÑA
gmail-smtp.l.google.com:CORREO@GMAIL.COM:CONTRASEÑA
smtp.gmail.com:CORREO@GMAIL.COM:CONTRASEÑA

Desde luego, remplaza CORREO@GMAIL.COM con tu cuenta de Gmail (o de Google for Works) y CONTRASEÑA con tu contraseña de esa cuenta. O poner el servidor SMTP que corresponda según tu proveedor de correo.

Ahora toca reiniciar exim4 para que utilice esta información. Utiliza estos comandos:
sudo update-exim4.conf
sudo /etc/init.d/exim4 restart

Con esto la Raspberry ya puede enviar correo usando una cuenta Gmail o Google for Works.

Toques finales

Si queremos aprovechar esta configuración para recibir correos del sistema, como crons, notificaciones y demás, podemos configurar para que los correos que se envíen a root recibirlos en nuestra cuenta recién configurada. Para ello cambiamos los alias del sistema, modificando el fichero /etc/aliases.
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: pi
pi: CORREO@GMAIL.COM

Esto redirecciona todo el correo a root, y a su vez redirecciona root a pi, y pi a la dirección que queramos.

Y si queremos cambiar el nombre que nos aparece como remitente, podemos darle un nombre más amigable a nuestra Raspberry, como por ejemplo «Raspberry 01» usando el comando chfn.

sudo chfn -f "Raspberry 01" pi

Y por último, gracias al aporte de Pedro, unos scripts para recargar la configuración que has editado para que Exim4 la use.
Esto se hace con un par de comandos:
sudo update-exim4.conf
sudo service exim4 restart

Bueno, espero que este artículo te ayude a configurar correo en una Raspberry Pi, o al menos te de algunas pistas.

Y si tienes alguna duda, ¡déjame un comentario!

Fuente original (en inglés): Prepare Your Pi To Send Mail Through Gmail

Configurar correo en una Raspberry Pi

5 comentarios:

  1. Un tutorial muy cuidado y que ayuda mucho.
    Te faltó un paso en lo de la configuración de Exim4: hace falta recargar la configuración que has editado para que Exim4 la use.
    Esto se hace con un par de comandos:

    sudo update-exim4.conf
    sudo service exim4 restart

  2. Buenas noches amigo Fon. Sin duda tus tutoriales me están ayudando enormemente ya que soy bastante padawan en el tema Raspberry, y desde luego están perfectamente explicados y redactados. Quería comentarte una duda que me ha surgido al seguir las indicaciones de éste tuto. He definido una cuenta de gmail y he seguido los pasos que describes aqui, incluida la última parte para recibir cron y demás, pero me surge el siguiente problema. En el correo destino donde debería de recibir los mensajes de la Raspi, no me llega nada y en el correo de la propia Pi, recibo mensajes Cron con el siguiente contenido:

    Failed to find GALX token.
    gv.Login() returned -2.

    Failed to find GALX token.

    Desconozco cual es el origen del error, y te agradezco cualquier ayuda que pudieras darme al respecto. Muchas gracias por tu valiosos tutoriales 🙂

    • Hola Franky, buenos días.

      Lo que te está pasando es que seguramente tienes activada la autentificación en 2 pasos de Google. En ese caso lo que tienes que hacer es crear una contraseña específica para el exim de la Raspberry.

      En este enlace podrás crear la contraseña para la Raspberry Contraseñas de aplicación y consultar las contraseñas que has creado para todas tus aplicaciones.

      Saludos, espero que te sirva, y sino ya sabes, aquí estoy 😉
      Fon

  3. Muy buen tutorial, sencillo, correcto y sobretodo práctico. Solo una pregunta, a la hora de recibir y enviar correo en linux ¿serviría cualquiera?, o ¿sería mas recomendable un Squirrel mail. Gracias y un saludo.

Deja una respuesta

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.