Skip to main content

Command Palette

Search for a command to run...

Configuración Postfix en Oracle Linux

Updated
3 min read
Configuración Postfix en Oracle Linux
D

Ingeniero informático, Oracle ACE, DBA y Arquitecto OCI, con más de 15 años de experiencia en plataformas Oracle. Certificado en OCI Certified Architect Professional y OCI Migration and Integration Certified Professional.

Voy a explicar paso a paso la instalación de Postfix en Oracle linux 8 o superior, para poder habilitar el envío de mensajes dentro de la red. Como pequeña nota, Postfix es un MTA (Mail Transfer Agent) que fue desarrollado para remplazar al antiguo sendmail.

Lo primero que vamos hacer es verificar si esta instalado en nuestra máquina para proceder a la instalación del mismo. Este paso lo podemos verificar con el Package Manager, filtrando por postfix "rpm -qa | grep postfix".

Aunque sea un entorno nuevo, siempre es bueno verificarlo. Una vez verificado, procedemos con su instalación.

[root@~]# dnf install -y postfix
[root@~]# rpm -qa | grep postfix
postfix-3.5.8-7.el8.x86_64

Haremos lo mismo con sendmail, en caso que este instalado lo eliminamos

[root@~]# rpm -qa | grep sendmail
[root@~]# sudo dnf remove -y sendmail

Una vez instalado postfix y elminado sendmail, marcaríamos postfix como MTA por defecto

[root@~]# alternatives --set mta /usr/sbin/sendmail.postfix

Antes de habilitar el servicio de postfix, deberíamos verificar si tenemos algún tipo de firewall en nuestra máquina. En mi caso no aplicaría, pero en caso que tengamos algún firewall, deberíamos permitir el tráfico SMTP.

[root@~]#  systemctl enable --now postfix

Procedemos a instalar SASL para autenticación y autorización en los distintos protocolos de Internet.

[root@~]#  dnf list cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
[root@~]#  dnf install cyrus-sasl cyrus-sasl-plain
#### chequeamos que este todo bien
[root@~]#  dnf list cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
Repository ol8_baseos_latest is listed more than once in the configuration
Repository ol8_appstream is listed more than once in the configuration
Repository ol8_codeready_builder is listed more than once in the configuration
Repository ol8_addons is listed more than once in the configuration
Repository ol8_UEKR6 is listed more than once in the configuration
Repository ol8_UEKR6_RDMA is listed more than once in the configuration
Last metadata expiration check: 2:39:11 ago on Fri 12 Jul 2024 08:38:53 AM CEST.
Installed Packages
cyrus-sasl.x86_64                                                             2.1.27-6.el8_5                                                       @ol8_baseos_latest
cyrus-sasl-lib.x86_64                                                         2.1.27-6.el8_5                                                       @System
cyrus-sasl-plain.x86_64                                                       2.1.27-6.el8_5                                                       @ol8_baseos_latest
Available Packages
cyrus-sasl.i686                                                               2.1.27-6.el8_5                                                       ol8_baseos_latest
cyrus-sasl-lib.i686                                                           2.1.27-6.el8_5                                                       ol8_baseos_latest
cyrus-sasl-plain.i686                                                         2.1.27-6.el8_5                                                       ol8_baseos_latest

Una vez llegados a este punto, procedemos a la configuración del mismo, como es el servidor smtp, el puerto y otros tipos de configuraciones. Antes de lanzar cualquier modificación, hacemos un copia de seguridad del archivo /etc/postfix/main.cf.

[root@~]# postconf -e "relayhost = [smtp.*********]:<PORT>"
[root@~]# postconf -e "smtp_sasl_auth_enable = yes"
[root@~]# postconf -e "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd"
[root@~]# postconf -e "smtp_sasl_security_options = noanonymous"
[root@~]# postconf -e "smtp_sasl_tls_security_options = noanonymous"
[root@~]# postconf -e "smtp_use_tls = yes"

Definimos el fichero /etc/postfix/sasl_passwd. Este fichero es el que contendrá la información del usuario y contraseña que debe usarse para la utilización del smtp.

El contenido del mismo es siempre [smtp_server_name]:port username:password. Le daremos permisos 600.

[root@~]# cat /etc/postfix/sasl_passwd
[smtp.********]:Port User:Password 
[root@~]# chmod 600 /etc/postfix/sasl_passwd

Creamos el database-like para que el postfix pueda ser leído y recargamos la configuración del mismo

[root@~]# postmap /etc/postfix/sasl_passwd
[root@~]# postfix reload
postfix/postfix-script: refreshing the Postfix mail system

Este punto anterior puede arrojarte el siguiente error

"postmap: fatal: parameter inet_interfaces: no local interface found for ::1"

Esto es debido a que el fichero /etc/postifix/main.cf, la variable inet_interfaces esta configurado con valor localhost, debe tener valor all "inet_interfaces = all".

Una vez llegado a este punto, solo faltaría hacer el test, donde aquí es necesario tener instalado mailx.

Procedemos a instalarlo en caso de que no lo tengamos

[root@~]# dnf list mailx
[root@~]# dnf install mailx

Ejecutamos el test:

[root@~]# echo "Test postfix" | mailx -r test@test.com -s "Test postfix"  david.sanz.macias@nttdata.com

Verificamos que nos has llegado el mail

Listo ¡Espero que os sirva!

153 views