Configurar Postfix con cuentas Exchange Online de Office 365 de Microsoft

Office365 es la última apuesta de Microsoft para competir en soluciones de comunicación y colaboración en la nube. Integrada por productos como Office Professional Plus, que incluye Excel, Word, o Exchange Online, producto al cual estamos interesados en ésta entrada, ya que integraremos una cuenta de correo de ésta plataforma en un servidor GNU/Linux con Postfix para usarlo como relay.

Exchange Online, se trata de una plataforma de correo empresarial, que como características principales permite compartir calendarios, correos de voz o correo electrónico móvil. Además permite tener una capacidad por cuenta de 25GB. Office365 incluye mucho más servicios que no trataré en este artículo.

El correo Exchange Online exige cifrado TLS para la transmisión del correo, característica que tendremos que tener en cuenta cuando configuremos dicho servidor.

Bien, ya vimos en su día como configurar una máquina GNU/Linux con Postfix. Así que hay detalles que omitiré.

Primero de todo, tenemos que tener activa una cuenta de Exchange Online, a la cual accederemos desde la url: http://login.microsoftonline.com, como vemos en la siguiente imagen:

Una vez dentro, y para saber que configuración debemos utilizar para configurar nuestro relay tenemos que seguir la ruta: Outlook – Opciones – Ver todas las opciones, una vez llegado aquí deberemos ver la siguiente ventana:

 Ahora seleccionamos “Configuración para acceso POP, IMAP y SMTP….”

Tomaremos nota de la configuración SMTP, es decir, del nombre del servidor, el puerto y el método de cifrado, que como vemos es puerto 587 y cifrado TLS. Cuando tenemos esta información ya nos podemos ir a nuestro servidor GNU/Linux para configurarlo. ´

Yo he usado un servidor con Debian Squeeze, y he introducido los comandos siempre como root.

Para que funciona correctamente el servicio POSTFIX con cuentas de Office 365 tienen que ser versiones a partir de la 2.9.0 por tema de compatibilidad.

Por defecto en Debian Squeeze no vienen las últimas versiones de POSTFIX, así que tenemos que usar los repositiros BACKPORTS para poder actualizar. Para ello debemos modificar el archivo /etc/apt/sources.list y añadir la siguiente línea:

  1. deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

Una vez añadida debemos actualizar el sistema con el comando:

  1. apt-get update

Ahora nos toca instalar la última versión usando backports.

  1. aptitude -t squeeze-backports install postfix

Básicamente la configuración que tenemos que usar para que funcione correctamente nuestro servidor de relay, es la siguiente.

En el archivo main.cf. 

  1. # Para que utilice todas nuestras interfaces de red
  2.  
  3. inet_interfaces = all
  4.  
  5. # Indicamos nuestro servidor, información que hemos recogido de la web de Exchange Online
  6.  
  7. relayhost = [podxxxxx.outlook.com]:587
  8.  
  9. # En los siguientes parámetros decimos que el servidor necesita autentificación y la ubicación del archivo con las credenciales de seguridad
  10.  
  11. smtp_sasl_auth_enable = yes
  12.  
  13. smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
  14.  
  15. # Decimos que no aceptamos conexiones anónimas
  16.  
  17. smtp_sasl_security_options = noanonymous
  18.  
  19. # Al usar cifrado TLS necesitamos indicar donde tenemos ubicado nuestro certificado
  20.  
  21. smtp_tls_CAfile = /etc/postfix/cacert.pem
  22.  
  23. # Indicamos que efectivamente vamos a usar TLS como sistema de cifrado
  24.  
  25. smtp_use_tls = yes
  26.  
  27. # Hacemos saber cual es nuestro dominio
  28.  
  29. relay_domain = dominio.com
  30.  
  31. # También decimos que cuando se conecte al servidor siempre envíe un ehlo
  32.  
  33. smtp_always_send_ehlo = yes
  34.  
  35. # Aquí viene una parte importante, tenemos que usar un archivo generic, donde indicaremos los alias que vamos a usar para el envío
  36.  
  37. smtp_generics_maps = hash:/etc/postfix/generic

Y con esto ya tendríamos listo el archivo main.cf

Ahora generaremos el certificado de seguridad, usaremos el comando cat, que enviará la salida de un archivo de texto a otro, de la siguiente manera:

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

Hay otras maneras de hacerlo, pero esta es la que me gusta a mi, para gustos colores.

Ahora crearemos el archivo donde guardaremos las credenciales (esto lo hicimos también en la otra entrada sobre Postfix)

Yo tengo el arhivo en un directorio a parte llamado sasl, lo puedes ubicar donde más rabia te de, siempre que indiques la ruta en main.cf, como hemos dicho antes.

Sería así:

  1. nano /etc/postfix/sasl/passwd

Una vez dentro del archivo escribimos:

  1. [podxxxxx.outlook.com]:587 Nuestro correo:Password

Salimos del editor nano, habiendo grabado antes con la combinación  CTRL+O para grabar  y CTRL+X para salir.

Indicamos permisos al archivo para que sólo el usuario root pueda verlo:

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

Ahora usamos el comando postmap, para que el archivo sea legible por el sistema Postfix:

  1. postmap /etc/postfix/sasl/passwd

Bien, ahora viene una parte muy importante. Es la creación del archivo generic.

Antes de nada, indicamos al sistema que queremos crear nuevos alias:

  1. newaliases

Ahora creamos el archivo:

  1. nano /etc/postfix/generic

Y lo editamos:

  1. [Superusuario del sistema] [Nuestra cuenta de Office365]

Por ejemplo:

  1. oot@debian.localdomain fulanitodelospalotes@midominio.com

Eso hará que cuando enviemos la información al servidor de Microsoft, le digamos nuestra cuenta de correo, y no nuestra credencial de superusuario.

Salimos del editor y generemos un archivo legible:

  1. postmap /etc/postfix/generic

Ahora que tenemos todos los archivo generados, podemos reiniciar el servidor:

  1. /etc/init.d/postfix restart

Y probar un envío:

  1. mail correo@dominio.com

Recordad que con CTRL+D tenéis que enviar el correo, una vez introducido el texto y los destinatarios.

Notas: Las imágenes, ventanas y logos de Office 365 son propiedad de Microsoft. Para la edición y capturas de las imágenes he utilizado el programa GIMP 2.8