Servidor SMTP exim4

_images/eximlogo.png

Para que nuestra pequeña Raspberry Pi sea capaz de enviar emails, una de las formas más fáciles y rápidas de configurarlo es a través de nuestra cuenta de Gmail ya que nos ofrece servicio smtp de forma gratuita, para ello podemos configurar nuestra Raspi mediante el uso de MTA (Message Transfer Agent).

Instalar el programa exim4

sudo apt-get install exim4

Una vez instalado, necesitamos configurarlo

sudo dpkg-reconfigure exim4-config

Se iniciará el configurador en el que tenemos que responder las siguientes preguntas:

  1. Tipo de configuración general del correo:

Selecciona la segunda opción: el correo se envia mediante un «smarthost»; se recibe a través de SMTP o fetchmail

_images/exim1.png

Nombre para el servidor de correo:

Por defecto pone el nombre del hostname, en mi caso «rbpidespacho»

_images/exim2.png

Nos pide que IPs tiene permiso para usar el servidor de correo:

Déjalo por defecto: (127.0.0.1 ; ::1)

_images/exim3.png _images/exim4.png

Otros destinos para los que se acepta el correo:

Déjalo por defecto: raspberrypi. En mi caso lo cambio a rbpidespacho

_images/exim5.png

Máquinas para las cuales reenviar correo:

Déjalo en blanco.

_images/exim6.png

Dirección IP o nombre de equipo para el «smarthost» saliente:

Introduce el servidor smtp de gmail: smtp.gmail.com::587

_images/exim7.png

¿Desea ocultar el nombre de correo local en los mensajes salientes?

Selecciona: No

_images/exim8.png

Limitar el número de consultas DNS:

_images/exim9.png

Selecciona: No

_images/exim10.png

Mecanismo de entrega para el correo local:

Selecciona: “Formato <Maildir> en el directorio personal”

_images/exim11.png

¿Dividir la configuración en pequeños ficheros?:

Selecciona: No

_images/exim13.png

Root and postmaster mail recipient:

Introduzca: pi

Después de responder a las preguntas exim se reiniciará

_images/exim14.png

Como usuario root edita el fichero /etc/exim4/passwd.client y añade las siguientes lineas al final del fichero poniendo en los campos correspondientes con tu e-mail y tu password:

gmail-smtp.l.google.com:YOU@gmail.com:PASSWORD
*.google.com:YOU@gmail.com:PASSWORD
smtp.gmail.com:YOU@gmail.com:PASSWORD

Ahora sólo nos queda cargar la configuración en exim y reiniciar el servicio

sudo update-exim4.conf

sudo /etc/init.d/exim4 restart

Opcional

Algunos procesos, pueden enviar correos al usuario root u a otros usuarios del sistema, si quieres ser informado de todo lo que ocurre en tu pequeña máquina puedes configurar el fichero aliases de la siguiente manera

Edita como root el fichero /etc/aliases y déjalo como se muestra a continuación.

# /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: tucorreo@gmail.com

Con esta configuración todos los mails que se envían al usuario root serán reenviados también al usuario pi, el cual tiene establecida una dirección de correo la cual será el mail que tu indiques.

Ejemplo de uso

Para probar que todo funciona ejecutamos el siguiente comando, el primero nos mandara un mail a la cuenta de correo que indiquemos y el segundo nos enviara un mail haciendo uso de los aliases del sistema.

mail -s "This is the subject line" tu_email@loquesea.com
mail -s "This is the subject line" root@localhost

Cuando escribamos cada una de estas sentencias nos pedirá el cuerpo del mensaje, debemos escribir lo que queramos y finalizaremos la introducción de texto poniendo un punto en una nueva línea y pulsando ENTER.

Posible problema:

pi@rbpidespacho /etc/exim4 $ sudo /etc/init.d/exim4 restart
[ ok ] Stopping MTA for restart:.
[ ok ] Restarting MTA: exim4.
ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken

Solución:

pi@rbpidespacho /etc/exim4 $ tail /var/log/exim4/paniclog
2015-09-13 21:09:30 IPv6 socket creation failed: Address family not supported by protocol
2015-09-13 21:10:21 IPv6 socket creation failed: Address family not supported by protocol
2015-09-13 21:13:44 IPv6 socket creation failed: Address family not supported by protocol
pi@rbpidespacho /etc/exim4 $ sudo rm /var/log/exim4/paniclog
pi@rbpidespacho /etc/exim4 $ sudo /etc/init.d/exim4 restart
[ ok ] Stopping MTA for restart: exim4_listener.
[ ok ] Restarting MTA: exim4.

SOLUCIONADO!!!