No es posible enviar correo SMTP de Postfix a hosts externos

No es posible enviar correo SMTP de Postfix a hosts externos

Administro un servidor (Ubuntu 12.04 LTS) que ejecuta un servidor web y un servidor de correo. El servidor web funciona bien, pero el servidor de correo es un problema. Tengo Dovecot instalado y configurado correctamente; puedo conectarme con Thunderbird (mi cliente está en otra red, por lo que no es una red interna) y ver todas las carpetas, etc. También se recibe correo externo.

La autenticación SMTP de Postfix parece funcionar (usando STARTTLS), ya que puedo escribir correos electrónicos desde Thunderbird en una red externa al host local y al dominio del servidor. Pero cuando intento enviar un correo electrónico a otra dirección, por ejemplo a Gmail, aparece el siguiente error:

An error occurred while sending mail. The mail server responded:  5.7.1 <***@gmail.com>:
Relay access denied. Please check the message recipient ***@gmail.com and try again.

Utilizo un relé SMTP en el propio postfix, cuando inicio sesión con ssh puedo escribir correos electrónicos. Creo que el problema está en alguna parte aquí: ¿las conexiones SMTP a Postfix también utilizan este relé configurado?

Aquí está mi main.cf: (nombres de host, dominios, etc. reemplazados por datos ficticios)

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mydomain.com, localhost, myhostname
relayhost = smtp.myrelayhoster.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all



smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noplaintext noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password

sender_canonical_maps = hash:/etc/postfix/sender_canonical

Como se dijo, la autenticación SMTP básica parece estar funcionando: ¿es necesario configurar el relé para SMTP por separado?

Estas son las líneas importantes de /var/log/mail.log:

Sep  5 09:19:21 myhostname postfix/smtpd[9086]: connect from isp-ip.net[123.456.789.123]
Sep  5 09:19:22 myhostname postfix/smtpd[9086]: NOQUEUE: reject: RCPT from isp-ip.net[123.456.789.123]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<thunderbird>
Sep  5 09:19:22 myhostname postfix/smtpd[9086]: disconnect from isp-ip.net[123.456.789.123]

Respuesta1

Sep  5 09:19:22 myhostname postfix/smtpd[9086]: NOQUEUE: reject: RCPT from isp-ip.net[123.456.789.123]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<thunderbird>

Intente emular la sesión smtp a través de telnet y agregue el resultado a la pregunta. También puedes usar swaks, es solo un script en Perl.

# swaks -s isp-ip.net --helo thunderbird --to [email protected] --from [email protected] --auth PLAIN --auth-user [email protected] --auth-password 7654321 --auth-hide-password

El anfitrión no anunció la autenticación

Parece que el host de retransmisión no admite la autenticación. Puede que sí, pero sólo a través de un canal cifrado. Intente utilizar puertos 465/587 en su lugar, por ejemplo

# swaks -s isp-ip.net -tlsc -p 465 --helo thunderbird --to [email protected] --from [email protected] --auth PLAIN --auth-user [email protected] --auth-password 7654321 --auth-hide-password

# swaks -s isp-ip.net -tls -p 587 --helo thunderbird --to [email protected] --from [email protected] --auth PLAIN --auth-user [email protected] --auth-password 7654321 --auth-hide-password

información relacionada