Postfix: rejeite reject_unknown_recipient_domain e receba uma notificação por e-mail instantânea

2

quando um e-mail é enviado para um domínio ou destinatário não existente, gostaria que o remetente recebesse um e-mail imediato do mailer-daemon informando que o destinatário não existe.

Na verdade, o que acontece no meu sistema é que o e-mail entra na fila adiada e fica lá o tempo especificado na configuração. Quando eu coloquei delay_warning_time = 30m após 30 minutos na fila, o remetente recebe uma notificação, mas não é isso que eu quero para os endereços não existentes. O que eu gostaria é de rejeitar o e-mail imediatamente e notificar o remetente.

Alguém sabe o que estou fazendo errado? muito obrigado

Atualmente, os emails de destinatários não existentes estão na fila do postfix:

# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
AA6CA48DCC     1496 Wed Feb 12 12:56:36  [email protected]
         (connect to mx.email-srv.com[199.231.85.98]:25: Connection timed out)
                                         [email protected]

6FF9948DFF     1498 Wed Feb 12 13:07:04  [email protected]
         (connect to mx.email-srv.com[199.231.85.98]:25: Connection timed out)
                                         [email protected]

Aqui está minha configuração do Postfix:

2bounce_notice_recipient = $delay_notice_recipient
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = no
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = amavis:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
delay_notice_recipient = admin
delay_warning_time = 30m
disable_vrfy_command = yes
header_checks = regexp:/etc/postfix/header_checks
html_directory = no
inet_interfaces = all
inet_protocols = all
local_recipient_maps =
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
masquerade_domains = mail.domain.es mail.domain.com hostname.domain.es hostname.domain.com
maximal_backoff_time = 8000s
maximal_queue_lifetime = 5d
milter_default_action = accept
milter_protocol = 2
minimal_backoff_time = 1000s
mydestination =
mydomain = domain.es
myhostname = mail.domain.es
mynetworks_style = host
myorigin = domain.es
newaliases_path = /usr/bin/newaliases.postfix
non_smtpd_milters = $smtpd_milters
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relayhost =
relocated_maps = mysql:/etc/postfix/mysql_relocated.cf
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_helo_timeout = 60s
smtp_tls_CAfile = /etc/ssl/certs/sf_bundle.crt
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_hard_error_limit = 12
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit
smtpd_milters = inet:localhost:8891
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, reject_unknown_helo_hostname, permit_sasl_authenticated, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit
smtpd_soft_error_limit = 3
smtpd_tls_cert_file = /etc/ssl/certs/domain.es.crt
smtpd_tls_key_file = /etc/ssl/private/domain.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
transport_maps = mysql:/etc/postfix/mysql_transport.cf
transport_retry_time = 30s
unknown_local_recipient_reject_code = 450
virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/spool/mail/virtual
virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf
virtual_uid_maps = static:5000
    
por user846226 12.02.2014 / 13:20

1 resposta

1

Como o sufixo supostamente deve saber se o email é inexistente, ou se o servidor remoto está indisponível (como parece ser o caso do correio bloqueado na fila). Normalmente, o postfix tentará enviar o e-mail, mas a menos que receba uma resposta definitiva do servidor remoto, geralmente uma resposta de 550 (450 significa indisponibilidade temporária), o postfix não tem como determinar se o e-mail existe ou se existe é outro problema que pode permitir que o email seja entregue com sucesso mais tarde.

    
por 12.02.2014 / 13:27