Configurando exim4 para envío de correo a través de un smarthost (gmail)

Lo que sigue ha sido extraído de esta URL:
https://wiki.debian.org/GmailAndExim4

He decidido recoger aquí solamente aquello que yo he llevado a cabo a modo de resumen. Quizá algún día tenga que replicarlo en alguna otra máquina y ya no sea capaz de encontrar dicha información.

Obviamente, todo lo que sigue hay que hacerlo como root.

1) Reconfiguramos Exim.

# dpkg-reconfigure exim4-config
  • Choose "mail sent by smarthost; received via SMTP or fetchmail".
  • Set to "localhost" for "System mail name:".
  • Set to "127.0.0.1" for "IP-addresses to listen on for incoming SMTP connections" to refuse external connections.
  • Leave as empty for "Other destinations for which mail is accepted:".
  • Leave as empty for "Machines to relay mail for:".
  • Set to "smtp.gmail.com::587" for "IP address or host name of the outgoing smarthost:".
  • Choose "NO" for "Hide local mail name in outgoing mail?".
  • Choose "NO" for "Keep number of DNS-queries minimal (Dial-on-Demand)?".
  • Choose "mbox format in /var/mail/" for "Delivery method for local mail".
  • Choose "YES" for "Split configuration into small files?".

2) Editamos el fichero passwd.client y añadimos nuestro usuario y contraseña. Este es el usuario que aparecerá en el campo "Enviado por:". También comprobamos/establecemos los permisos oportunos de dicho fichero.

# editor /etc/exim4/passwd.client
*.google.com:nuestrousuario@gmail.com:nuestracontraseña
# chown root:Debian-exim /etc/exim4/passwd.client
# chmod 640 /etc/exim4/passwd.client

3) Finalmente ejecutamos:

# update-exim4.conf
# invoke-rc.d exim4 restart
# exim4 -qff

4) Y hacemos una prueba para ver que funciona:

[21:16:47(root@debian)/etc/exim4]# mail -s "Prueba de envío" noexiste@vivencias.net
Enviando con exim a través de gmail como smarthost. Ctrl-D Ctrl-D
Cc:

Si al intentar enviar un mail desde la línea de comandos, te aparece este error: "bash: mail: no se encontró la orden", instala este paquete: "apt-get install mailutils".

5) Comprobando en los logs que llega y, obviamente, viéndolo en nuestra bandeja de entrada de gmail.

2014-01-14 21:17:16 1W3AQG-0003OJ-H9 <= root@localhost U=root P=local S=352
2014-01-14 21:17:16 1W3AQG-0003OJ-H9 gmail-smtp-msa.l.google.com [2a00:1450:400c:c05::6d] Network is unreachable
2014-01-14 21:17:18 1W3AQG-0003OJ-H9 => noexiste@vivencias.net R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com [173.194.67.108] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=smtp.gmail.com"
2014-01-14 21:17:18 1W3AQG-0003OJ-H9 Completed

Y esto es todo.

P.D.: Por último, es muy útil la redirección de correo que se puede realizar entre usuarios en un sistema Unix o GNU/Linux. Existe el archivo "/etc/aliases" donde se nombra, en cada una de sus líneas, primero el usuario al que va dirigido el correo y, separado por dos puntos y un espacio, el usuario que en realidad lo va a recibir, es decir, a quien se redirige el correo del primero. Aquí un ejemplo (todas las líneas menos las dos últimas "vienen de serie"):

[18:03:26(godo@surco)~]> sudo more /etc/aliases
[sudo] password for godo:
# /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
clamav: root
root: godo
godo: noexiste@vivencias.net

Clasificado en artículos de:

comment reply