Como configurar un relay de correo para nuestra empresa con Postfix

Últimamente en la empresa donde trabajo hemos tenido que configurar un nuevo servidor de «relay» de correo para sustituir al que teníamos, que era un viejo IBM Lotus Notes. Por suerte yo ya había oído hablar del servicio de correo de código abierto Postfix, creado por el programador Wietse Venema. Lo cierto es que he tenido que investigar un poco, mirando manuales en Internet, y visitando asiduamente la página web del proyecto, para así de paso practicar mi inglés.

Bueno. Una vez explicado esto, os explico como lo instalé y configuré.

Primero de todo, decidí usar una distribución GNU/Linux, me decidí por Debian, sin interfaz gráfica, para así ahorrar recursos al sistema. Una vez descargada la última versión estable de su web:  http://www.debian.org/CD/http-ftp/#stable, procedemos a instalarla en una máquina virtual, yo siempre uso el software de VirtualBox, que nos podemos descargar desde su web: https://www.virtualbox.org/.

Cuando ya tenemos la distribución instalada, actualizaremos la versión, ya sabéis, primero le decimos al sistema que queremos actuar como «root», tecleando el comando «su», que nos pedirá la contraseña. Cuando estemos ya como super usuario,  modificaremos el fichero «sources.list» que es donde están las direcciones desde donde actualizaremos nuestro sistema, este fichero está ubicado en «/etc/apt/», el fichero yo lo tengo configurado de la siguiente manera:

El siguiente paso, es utilizar el comando para actualizar nuestro sistema operativo:

  1. apt-get update

Como la inmensa mayoría de programas en GNU/Linux están escritos en Lenguaje C, siempre instalo en compilador «gcc» que ya hablé de él en su día, además del de «python», que siempre se suelen utilizar en estos casos.

  1. apt-get install gcc python

A continuación instalamos los servicios a utilizar:

  1. apt-get install mailutils postfix

Creamos un enlace para el comando mail

  1. ln -s /usr/bin/mail /bin/mail

Empezamos a configurar postfix con nuestra configuración de correo en internet (yo en este caso utilizaré gmail).

En el archivo ubicado en /etc/postfix/main.cf, debemos indicar la siguiente configuración:

  1. relayhost = [smtp.gmail.com]:587
  1. smtp_use_tls = yes
  1. smtp_tls_CAfile = /etc/postfix/cacert.pem
  1. smtp_sasl_auth_enable = yes
  1. smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
  1. smtp_sasl_security_options = noanonymous

Como diría Jack, vamos por partes:

En «relayhost» indicamos en que dirección está ubicado nuestro servidor de relay en la nube, en este caso usamos el de gmail, además también le indicamos el puerto, el 587, que es el que se usa para conexiones seguras por TLS. En las siguientes líneas le decimos que usaremos el cifrado TLS, después decimos donde tendremos ubicado dicho certificado, y por último que no aceptamos conexiones anónimas.

Muy importante, al final del fichero indicamos:

  1. myhostname = debian

Esto lo hacemos para indicar nuestro nombre de host.

  1. mynetworks = 192.168.x.0/24 192.168.x.0/24 127.0.0.0/8

Esta parte es muy importante, si queremos utilizar nuestro servidor como relay de otras máquinas, tenemos que declarar las redes donde están dichos equipos.

Por último:

  1. mydestination = $mydomain,$myhostname,localhost,locahost.domain

Y con esto terminamos de editar el archivo.

A continuación generamos el fichero «passwd»

  1. nano -w /etc/postfix/sasl/passwd

Con nuestra configuración de seguridad:

  1. [smtp.gmail.com]:587 usuario@gmail.com:contraseña

Asignamos los permisos adecuados:

  1. chmod 600 /etc/postfix/sasl/passwd

Transformamos el fichero passwd a un fichero indexado hash

  1. postmap /etc/postfix/sasl/passwd

Vemos que haciendo esto tendremos un nuevo fichero llamado «passwd.db«

Instalamos los certificados:

  1. apt-get install ca-certificates

Añadimos la autoridad certificadora:

  1. cat /etc/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem

Reiniciamos el servicio de correo:

  1. /etc/init.d/postfix restart

Probamos el envío de un correo:

  1. mail -s "el asunto" usuario@gmail.com

CTRL+D(Enviarlo)

Por último, si queremos ver el log del correo en directo, con el comando «tail» lo podemos hacer, visualizando las diez últimas líneas de texto:

  1. cd /var/log
  2. tail -f mail.log

Y con todo esto ya tenemos configurado nuestro servidor de correo.

Si queréis saber más:

Proyecto POSTFIX