Jose Antonio Cely Saidiza

Antiguo y olvidado, Weblog personal

Utilizando Exim4 en Debian para enviar mensajes a través de Gmail

By Jose Antonio Cely Saidiza

El presente tutorial explica como configurar en servidor de correo por default en Debian (exim), par a que envíe correos a través de una cuenta de gmail. (smarthost on email Google servers).
No es necesario tener IP publica, solo tu cuenta de Gmail!, y un sistema operativo decente (Debian Lenny).
Entre las utilidades, podemos citar la creación de scripts que nos envien información del estado de la máquina. También se podría aprovechar para que nuestros scripts en php envíen email, o aplicaciones que hacen uso intensivo de correo (Ej. Nagios, Asterisk, Gforge, etc).
Además, tienes el registro de email enviados, bien sea con los logs, o en los correos enviados de tu cuenta de Gmail ;) .

INSTALACION Y CONFIGURACION

Ejecutamos:

dpkg-reconfigure exim4-config
(Si no esta instalado, lo sintalamos con apt-get install exim4)

En la reconfiguración/instalación seleccionamos:

* El correo se envía mediante un «smarthost»; se recibe a través de SMTP
* Nombre del sistema de correo: tudominio.xxx
* Direcciones IP en las que recibir conexiones SMTP entrantes: 127.0.0.1
* Otros dominios para los que se acepta el correo: en blanco
* Máquinas para las cuales reenviar correo: en blanco
* Direccion IP o nombre del equipo (smarthost) saliente: smtp.gmail.com::587
* Desea ocultar el nombre de correo local en los mensajes salientes? NO
* Limitar el numero de consultas DNS (Marcación bajo demanda)? NO
* Dividir la configuración en pequeños ficheros?

Ahora editamos el archivo /etc/exim4/passwd.client

vi /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:yourAccountName@gmail.com:y0uRpaSsw0RD
*.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
smtp.gmail.com:yourAccountName@gmail.com:y0uRpaSsw0RD

Cambiamos permisos del archivo

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

Reiniciamos el servidor de correo

/etc/init.d/exim4 restart

Con esto hemos finalizado la configuración, ahora nuestro sistema tendrá la capacidad de enviar email!

EJEMPLO DE USO

* No hay nada mas elegante que enviar un email a traves del shell XD, con el comando mail:

mail jose.cely@xxxx.xxx
Subject: Hola, email enviado desde el Shell
Esto es el cuerpo del mensaje. Es una prueba de mailx.
Un mensaje se acaba con un punto (.) al principio de línea.
.
Cc:

Se podrían hacer scripts para que nos envíen información automática y periódica del estado del estado de la máquina donde corre el servidor!

Para depurar errores en configuraciones, o ver en más detalle que esta pasando, no existe mejor alternativa que ver los logs!
tail /var/log/exim4/mainlog

Dudas, comentarios, sugerencias?

7 Responses so far

Gracias por el tutorial…muy sensillo y claro, estuve buscando algo como esto.
Una consulta, porque cuando envio correos desde la consola, estas llegan como destinatario Root, pero cuando los mando desde un php, estas llegan de www-data: …???

se que es algo de los usuarios en linux, sabes como podria modificar ese www-data por mi nombre…?

Saludos y gracias…

Si, es el usuario, pero solo es cuestión de modificar los headers (en php):

http://php.net/manual/en/function.mail.php

The addition of basic headers, telling the MUA the From and Reply-To addresses:
< ?php $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?>

Tengo Linux gnu/debian -apache2-php5. Tengo instalado el exim4, y desde la consola de linux puedo enviar correo con la funcion mail. Pero hice un script con php utilizando la funcion mail() y no me funciona. Cual podria ser el problema? Saludos y gracias.-

Muchas gracias por el tutorial, estaba desesperado, porque instalé un nagios en una máquina local y no mandaba correos a direcciones de gapps solo a usuarios internos, abrí puertos instalé squirrelmail y nada, estoy esperanzado que esta solución me ayude con el nagios ¿sabes si hay algo que configurar de mas en el nagios? por lo menos ya probé el shell y funcionó muchas gracias por compartir tu conocimiento y hacer de este mundo con linux para todos.

Funcionan las notificaciones de nagios…. EXCELENTE. :D

Hola, he realizado la configuración en Linuxmimt Debian y todos los mensajes se envían a Gmail (incluidos los de mi usuario local y los de root). Por tal motivo Gmail me bloquea la cuenta porque excedo la cuota diaria. ¿Cómo puedo hacer para que los mensajes locales no usen SMPT? gracias

Hola señor tengo esta actividad que hacer para el cole, però no lo entiendo, que nosotros tenemos que configurar el exim4 en Ubuntu-Desktop, i solo queremos que des de la consola llegue el mensaje al correo gmail, però cuando lo hago igual que esta puesto en vuestro blog, no llega el mensaje en mi correo, des de la consola.

Leave a comment