
Postfix se niega a enviar correos electrónicos como servidor de retransmisión. Sigue diciendo:
conectarse a midominio.com[xxx.xx.xxx.xxx]:25: Conexión rechazada
Sin embargo, el puerto 25 está abierto:
sudo netstat -ntlp
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN 39162/mysqld
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 57910/proftpd: (acc
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 614/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 762/sshd: /usr/sbin
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 70265/master
tcp6 0 0 :::3306 :::* LISTEN 39162/mysqld
tcp6 0 0 :::80 :::* LISTEN 61217/apache2
tcp6 0 0 :::22 :::* LISTEN 762/sshd: /usr/sbin
tcp6 0 0 ::1:25 :::* LISTEN 70265/master
tcp6 0 0 :::443 :::* LISTEN 61217/apache2
No tengo idea de dónde viene este problema.
Alguien me puede ayudar ?
Respuesta1
Su servidor de retransmisión requiere autenticación. Es decir, debe demostrar que tiene permiso para enviar correo a través de este servidor de retransmisión. Por lo general, el operador de retransmisión le proporciona credenciales (algo de nombre de usuario y contraseña), que usted configura en su Postfix para usar cuando habla con el retransmisor.
La configuración de la autenticación del cliente SMTP (que se utiliza cuando su Postfix se comunica con el host de retransmisión, que es el servidor SMTP) se describe enCómo hacer Postfix SASL. Así es cómo:
En el sufijo main.cf
:
relayhost = [relay.host.name]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
La primera línea configura el host de retransmisión, la segunda habilita la autenticación y la tercera línea especifica el archivo donde se almacenan las credenciales para cada host de retransmisión, es decir /etc/postfix/sasl_passwd
. En ese archivo pones:
[relay.host.name] username:password
Ejecútelo siempre postmap /etc/postfix/sasl_passwd
después de realizar cambios en este archivo y postfix reload
después de editarlo main.cf
. Restrinja también el acceso a este archivo, ya que contiene información confidencial:
chmod 0600 /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd
Tenga en cuenta que si su servidor de retransmisión espera sus envíos en otro puerto (por ejemplo, cuando tuve que configurar un servidor de retransmisión lo hice en smtp submission
el puerto tcp/587
), debe especificarlo tanto relayhost = [relay.host.name]:submission
en main.cf
el archivo como en el mismo sasl_passwd
.
El cliente SMTP de Postfix no admite "SMTPS directo" (lo llaman "modo contenedor"), donde el servidor SMTP sobre SSL espera un protocolo de enlace SSL directamente en el puerto tcp/465
(como el que hace Google). Solo admite TLS a través del puerto 25 o 587 para iniciarse con el comando STARTTLS.
Respuesta2
Connection refused
significa que no hay nada escuchando en el puerto dado en la interfaz dada. Y su salida de netstat muestra que el puerto 25 solo está escuchando en la 127.0.0.1
interfaz de loopback.
Si intenta acceder a él desde otra máquina, no será posible acceder a él.
Para que Postfix escuche en todas las interfaces, debe cambiarinet_interfaces
:
inet_interfaces = all
Si tiene varias interfaces y no desea que las escuche todas, también puede proporcionar una lista separada por comas de las direcciones IP en las que debe escuchar.