Servidor SMTP exim4¶
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:
- 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
Nombre para el servidor de correo:
Por defecto pone el nombre del hostname, en mi caso «rbpidespacho»
Nos pide que IPs tiene permiso para usar el servidor de correo:
Déjalo por defecto: (127.0.0.1 ; ::1)
Otros destinos para los que se acepta el correo:
Déjalo por defecto: raspberrypi. En mi caso lo cambio a rbpidespacho
Máquinas para las cuales reenviar correo:
Déjalo en blanco.
Dirección IP o nombre de equipo para el «smarthost» saliente:
Introduce el servidor smtp de gmail: smtp.gmail.com::587
¿Desea ocultar el nombre de correo local en los mensajes salientes?
Selecciona: No
Limitar el número de consultas DNS:
Selecciona: No
Mecanismo de entrega para el correo local:
Selecciona: “Formato <Maildir> en el directorio personal”
¿Dividir la configuración en pequeños ficheros?:
Selecciona: No
Root and postmaster mail recipient:
Introduzca: pi
Después de responder a las preguntas exim se reiniciará
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!!!