En la jaula de un geek

Los README son para los cobardes. Sé valiente. Ejecuta el programa.

«

»

Feb 04

Configurar relay de mails con postfix en OpenSuSE Leap 42.2

El servicio de e-mail es uno de los más importantes y complicados de mantener ya que requiere estar en continuo funcionamiento pase lo que pase, para ello tienen sus propias políticas y configuraciones capaces de reenviar el e-mail a otro servidor si el primero ha caído. Precisamente por esta complejidad normalmente se delega a servicios de otros, ya sean de pago o gratuitos.

En cualquier caso, nuestros servidores es posible que necesiten enviar e-mails para notificar por ejemplo de las copias de seguridad. Para ello tendremos que configurar nuestro postfix en modo de relay, este permite enviar utilizando el servicio contratado, sin necesidad de que el propio postfix sea el servidor.

0- Previos

Postfix debe estar instalado en el Linux, en el caso de OpenSuSE este viene instalado por defecto a no ser que se indique lo contrario en la instalación, en cualquier caso, es fácil de instalar con los comandos de repositorio según la distribución (zypper, apt-get, etc.).

La finalidad de esta configuración es que el servidor pueda enviar e-mails utilizando nuestro sistema contratado de correo, para ello tendremos que tener los datos de envío (smtp) del servidor a utilizar, normalmente requerirá de un usuario y contraseña para acceder que es cómo se explicará aquí.

Existen infinitas maneras de configurar postfix siendo uno de los servicios más complicados que he encontrado, una alternativa para configurar algo tan simple como un relay sería utilizar otra aplicación, pero me decanto por esta por su gran importancia y la cantidad de información por internet.

En este post intento explicar la versión más simple de todas las que he conseguido para configurar el relay, a partir de esta se puede complicar tanto como se necesite.

En todo momento se utilizará el usuario root.

1- Configurar Postfix

Toda la configuración se añade al fichero principal.

Por defecto ya está configurado para enviar mensajes internos, con esto añadiremos los datos para conectar a un servidor externo y así enviar los e-mails. Al añadir estos datos hay que revisar que no esté duplicado, la mayoría de ellos ya están configurados o están vacíos así que o comentamos las líneas originales o las actualizamos según nuestros datos.

Lo siguiente es añadir el usuario y contraseña del servidor smtp.

Este debe indicar el servidor y seguidamente el usuario:contraseña.

Una vez guardado, creamos el formato final.

Esto es suficiente para configurar el servicio, pero con estos datos, el remitente por defecto será algo similar a root@ServerName.localdomain y muy posiblemente nuestro servidor de e-mail no lo acepte, hay varias soluciones para ello, pero la que menos problemas me ofrece es crear un mapeo de este usuario hacia el real.

Indicamos el e-mail que genera el servidor y el e-mail receptor por defecto.

Y lo creamos en versión final.

Con esto ya tenemos todo configurado así que terminamos reiniciando la aplicación.

2- Asignar alias de root

Algunos servicios pueden enviar e-mails internos a root, si queremos podemos asignar un e-mail a este para que los envíen a donde deseemos.

Al final del todo indicamos a dónde debe ir root.

3- Pruebas y logs

El log del servicio se escribe en el journalctl, este nos puede servir para confirmar que nombre se está utilizando por defecto al enviar los e-mails y así ajustar el mapeo indicado previamente, también nos servirá para revisar que se esté enviando correctamente, si no es así indicará un reject y un motivo.

Con el siguiente comando podemos mantener el log activo para ir viendo los cambios que se van sucediendo mientras vamos configurando y probando.

Para enviar un e-mail simple podemos utilizar el siguiente comando, la primera parte indica el cuerpo del mensaje, el -s el asunto y finalmente el destinatario, si creamos un alias a root, podemos indicar root como destinatario para confirmar que esté funcionando correctamente.

Final

Con esto tenemos nuestro pequeño relay que podemos configurar fácilmente en cada servidor y así recibir cualquier notificación que sea necesaria, desde copias de seguridad a aplicaciones que notifiquen de los diferentes sucesos.

2 comentarios

  1. eduardo

    Deberían hacer un vídeo de como ejecutan cada paso y el ejemplo de como enviar correos para usuarios principiantes de openSUSE

  2. Rei Izumi

    Hola Eduardo,
    lo siento, soy más de la vieja escuela, del blog escrito, no me he planteado pasar a hacer vídeos.

    Este manual es para configurar el postfix para un relay, mientras sea el caso, debería funcionar siguiendo exactamente esos pasos, incluso hace poco lo probé en OpenSuSE Leap 15 y sigue funcionando igual.
    Principalmente hay unos pasos concretos donde se deben cambiar los comandos acorde a tus datos, el resto es executarlos tal cual:
    ServerName: El nombre del servidor de OpenSuSE
    tu-mail@domain.cat: El e-mail que recibirá todos los e-mails por defecto (aunque al enviar un e-mail este se puede modificar, así que no es tan importante)
    smtp.domain.cat user@domain.cat:password: En orden: nombre del smtp, usuario para autenticarse y contraseña.

    Este último depende de tu servidor de e-mail, uno que tengas contratado (por tener un dominio por ejemplo) o alguno genérico como GMail, para estos casos tienes que conseguir los datos para él, cada empresa es diferente, así que no puedo escribir un sistema genérico.

    Ojo, este manual explica como hacer que tu OpenSuSE pueda enviar e-mails a través de ese servidor e-mail, funciona como un simple puente, no como un servidor de e-mail por si solo. Configurar un servidor entero con postfix es una tarea titánica en la que hay que tener una gran cantidad de conocimientos, además de modificar las DNS.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar