Verificación de remitente de Postfix 550

Pregunta:

Tengo Postfix y Dovecot instalados en un VPS y configurado para reenviar correo a una dirección de Gmail y acepto solicitudes smtp de gmail para que pueda enviar en ese nombre de dominios. TLS y autenticación están funcionando, el correo electrónico está llegando, dominios MX, SPR, DKIM, SPF, todo configurado y funcionando.

Sin embargo, solo puedo enviarme correos electrónicos a mí mismo y a una minoría de dominios. Por ejemplo:

This is the mail system at host tomjn.com.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system

<matt@geekmatt.com>: host dc-cd3425bc.geekmatt.com[87.106.180.26] said:
    550-Verification failed for <contact@tomjn.com> 550-The mail server could
    not deliver mail to contact@tomjn.com.  The account or domain may not
    exist, they may be blacklisted, or missing the proper dns entries. 550
    Sender verify failed (in reply to RCPT TO command)

Final-Recipient: rfc822; matt@geekmatt.com
Original-Recipient: rfc822;matt@geekmatt.com
Action: failed
Status: 5.0.0
Remote-MTA: dns; dc-cd3425bc.geekmatt.com
Diagnostic-Code: smtp; 550-Verification failed for <contact@tomjn.com> 550-The
    mail server could not deliver mail to contact@tomjn.com.  The account or
    domain may not exist, they may be blacklisted, or missing the proper dns
    entries. 550 Sender verify failed

No estoy seguro de cómo proceder. ¿Es este el servidor remoto que dice que no al mío? ¿El mío dice que no al servidor remoto?

Busqué la verificación de la dirección y encontré esto:

http://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/external/ibm-public/postfix/dist/html/ADDRESS_VERIFICATION_README.html#caching

Sin embargo, es ambiguo, cuando dice que el destinatario, ¿se refiere al servidor remoto que recibe el correo electrónico? ¿Mi servidor recibe una solicitud de verificación? ¿El servidor remoto recibe una solicitud de verificación? ¿Se refiere al remitente del correo electrónico o al remitente de la solicitud de verificación? No está claramente establecido. Buscar en Google ha dado lugar a varias preguntas con respuestas como "es una mala idea, todos deberían dejar de usarlo", a personas que solucionan su problema que fue causado por el uso de algo que no estoy usando (por ejemplo, SRS).

Los correos electrónicos a check-auth@verifier.port25.com no obtienen respuesta.

Aquí está mi main.cf para postfix:

# 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.

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
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
smtpd_sasl_auth_enable = yes
smtpd_helo_required = yes
#smtpd_pw_server_security_options = cram-md5,digest-md5,login,plain
#content_filter = smtp-amavis:[127.0.0.1]:10024
#smtpd_helo_restrictions = reject_non_fqdn_helo_hostname reject_invalid_helo_hostname


smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem
smtpd_tls_key_file=/etc/ssl/private/dovecot.pem
smtpd_use_tls=yes
smtpd_tls_auth_only = yes

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated

smtpd_client_restrictions =
          permit_mynetworks
          permit_sasl_authenticated
          REJECT
virtual_transport = lmtp:unix:private/dovecot-lmtp

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


smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = tomjn.com
virtual_alias_domains = tomjn.com tomjn.co.uk
#alias_maps = 
#alias_database = hash:/etc/aliases
myorigin = /etc/mailname

virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

#mydestination = localhost.com, , localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 216.239.32.0/19 64.233.160.0/19 66.249.80.0/20 72.14.192.0/18 209.85.128.0/17 66.102.0.0/20 74.125.0.0/16 64.18.0.0/20 207.126.144.0/20 173.194.0.0/16 [2001:4860:4000::]/36 [2404:6800:4000::]/36 [2607:f8b0:4000::]/36 [2800:3f0:4000::]/36 [2a00:1450:4000::]/36 [2c0f:fb50:4000::]/36
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

milter_protocol = 2
milter_default_action = accept

smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

nota al margen: sí, conozco las aplicaciones de Google, sí, el DNS está configurado correctamente, no, solo estoy usando Dovecot para TLS, no IMAP / POP3, sí, matt@geekmatt.com existe

Respuesta:

Sí, se llama Verificación del remitente. La verificación la realizó el servidor de correo geekmatt.com, no el suyo. Y según el mensaje de error, puedo concluir que

550-Verification failed for <contact@tomjn.com> 550-The mail server could
not deliver mail to contact@tomjn.com.  The account or domain may not
exist, they may be blacklisted, or missing the proper dns entries. 550
Sender verify failed

era el mensaje de error estándar de exim.

Por cierto, no toda la verificación del remitente fue mala. Para la explicación, asumiré que desea enviar un correo electrónico DESDE example.com A example.net

  1. En el nivel básico, el servidor de correo example.net debe verificar que exista el dominio del remitente. Si un servidor de correo rechazó su correo electrónico en este nivel, entonces su dominio no tiene 1) ningún registro DNS MX ni DNS A, o 2) un registro MX con formato incorrecto, como un registro con un nombre de host MX de longitud cero. En postfix, el parámetro equivalente es accept_unknown_sender_domain

  2. En el nivel avanzado, el servidor de correo intentará comprobar si existe la dirección del remitente. Básicamente, antes de aceptar su correo electrónico, el servidor de correo de example.net intentará hacer telnet a su servidor de correo sin enviar ningún correo electrónico . Estos controles se consideraron malos por varias razones .


Ahora, parece que el dominio tomjn.com no cumplió con la verificación del remitente en el nivel básico. Aquí el récord MX de tomjn.com

% dig tomjn.com MX +short
1 178.62.28.136.tomjn.com.
% dig 178.62.28.136.tomjn.com

; <<>> DiG 9.9.5 <<>> 178.62.28.136.tomjn.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, **status: NXDOMAIN,** id: 52812
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;178.62.28.136.tomjn.com.       IN      A

;; AUTHORITY SECTION:
tomjn.com.              1800    IN      SOA     NS1.DIGITALOCEAN.com. hostmaster.tomjn.com. 1410110590 3600 900 1209600 1800

Allí, su registro MX no tiene un registro A válido. Por lo tanto, geekmatt.com rechaza su correo electrónico.

La solución: arregle su registro MX

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım