
Esta mañana, para corregir un problema con un nombre que no coincide en el certificado de seguridad, seguí los pasos recomendados de¿Cómo arreglar el SSL del servidor de correo?, pero ahora, cuando intento enviar un correo electrónico desde un cliente (en este caso el cliente es Windows Mail), recibo el siguiente error.
La dirección de correo electrónico rechazada era '[correo electrónico protegido]'. Asunto 'Esto es una prueba. ', Cuenta: 'mail.domain.com', Servidor: 'mail.domain.com', Protocolo: SMTP, Respuesta del servidor: '554 5.7.1: Acceso de retransmisión denegado', Puerto: 25, Seguro (SSL): No , Error del servidor: 554, Número de error: 0x800CCC79
Editar: Todavía puedo recuperar correos electrónicos de esta cuenta y envío correos electrónicos a otras cuentas en el mismo dominio. Simplemente no puedo enviar correos electrónicos a destinatarios fuera de nuestro dominio.
Intenté deshabilitar TLS por completo, pero nada, sigo recibiendo el mismo error.
Cuando reviso el archivo mail.log
, veo lo siguiente.
Jul 18 08:24:41 company imapd: LOGIN, [email protected], ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=0, body=0, rcvd=83, sent=409, time=1
Jul 18 08:25:19 company postfix/smtpd[29282]: connect from company.university.edu[111.111.11.11]
Jul 18 08:25:19 company postfix/smtpd[29282]: NOQUEUE: reject: RCPT from company.university.edu[111.111.11.11]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<UserPC>
Jul 18 08:25:19 company postfix/smtpd[29282]: disconnect from company.university.edu[111.111.11.11]
Jul 18 08:25:22 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79
El archivo main.cf
se ve así:
#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#
#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
#
# Some common configuration parameters;
#
inet_interfaces = all
mynetworks = 127.0.0.0/8
mynetworks_style = host
myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain
smtpd_banner = $myhostname ESMTP 2.4.7.1 (Debian/GNU)
setgid_group = postdrop
#
# Receiving messages parameters;
#
mydestination = localhost, company
append_dot_mydomain = no
append_at_myorigin = yes
transport_maps = mysql:/etc/postfix/transport.cf
#
# Delivering local messages parameters;
#
mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"
biff = no
alias_database = hash:/etc/aliases
local_recipient_maps =
#
# Delivering virtual messages parameters;
#
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
virtual_uid_maps=mysql:/etc/postfix/uids.cf
virtual_gid_maps=mysql:/etc/postfix/gids.cf
virtual_mailbox_base=/usr/local/virtual
virtual_maps=mysql:/etc/postfix/virtual.cf
virtual_mailbox_domains=mysql:/etc/postfix/virtual_domains.cf
#
# SASL paramters;
#
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtp_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtp_tls_key_file = /etc/postfix/ssl/smptd.key
smtpd_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smptd.key
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sender_restrictions =
permit_sasl_authenticated
permit_mynetworks
smtpd_recipient_restrictions =
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/filtered_domains
permit_mynetworks
reject_unauth_destination
Como nota al margen, mi empleador quiere poder enviar correos electrónicos desde clientes (Thunderbird y Outlook) tanto desde dentro como fuera de nuestra red local.
Respuesta1
TLS solo habilita el cifrado en la sesión smtp y no afecta directamente si a Postfix se le permitirá transmitir un mensaje.
El mensaje de retransmisión denegada se produce porque las smtpd_recipient_restrictions
reglas no coinciden. Se debe cumplir una de esas condiciones para permitir que el mensaje pase:
smtpd_recipient_restrictions =
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/filtered_domains
permit_mynetworks
reject_unauth_destination
Para explicar esas reglas:
permit_sasl_authenticated
permite remitentes autenticados a través de SASL. Esto será necesario para autenticar a los usuarios fuera de su red que normalmente están bloqueados.
check_recipient_access
Esto hará que postfix busque /etc/postfix/filtered_domains
reglas basadas en la dirección del destinatario. (A juzgar por el nombre del archivo, probablemente solo esté bloqueando dominios específicos... Verifique si gmail.com aparece allí).
permit_mynetworks
Esto permitirá hosts por dirección IP que coincidan con los rangos de IP especificados en $mynetworks
. En el main.cf que publicaste, $mynetworks
estaba configurado en 127.0.0.1
, por lo que solo transmitirá correos electrónicos generados por el servidor.
Según esa configuración, su cliente de correo deberá utilizar la autenticación SMTP antes de poder transmitir mensajes. No estoy seguro de qué base de datos está utilizando SASL. Eso está especificado en /usr/lib/sasl2/smtpd.conf
. Presumiblemente, también utiliza la misma base de datos que sus buzones de correo virtuales, por lo que debería poder habilitar la autenticación SMTP en su cliente de correo y estar todo listo.
Respuesta2
smtpd_use_tls = no
Has desactivado TLS, por lo que ahora necesitas autorizar tu red local agregándola a mynetworks
. Por ejemplo,
mynetworks = 192.168.1.0/24 127.0.0.0/8
Esto solucionará el envío desde su red local únicamente. Para enviar correo electrónico desde fuera de su red local, necesitará que funcione la autenticación TLS.
Respuesta3
Creo que extrañas tu dominio.com en mydestination, porque es el predeterminado relay_domains=$mydestination
, por lo que puedes agregar la línea de configuración:
mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain
o:
relay_domains = $mydomain
No olvide reiniciar el servidor Postfix ( service postfix restart
) cada vez que edite el archivo de configuración de Postfix.
Respuesta4
Tuve el mismo problema en Outlook (con el backend dovecote y postfix) y pasé dos días buscando una solución y modificando mis archivos de configuración. Todo lo que tenía que hacer era marcar "El servidor requiere autenticación" en la pestaña Saliente en la configuración de correo de Outlook y mis mensajes ahora se envían a Gmail. Vea instrucciones detalladas sobre cómo encontrar la configuración aquíhttp://support.bluetie.com/node/440.