Na infraestrutura da minha empresa, eu tenho um servidor de correio interno com postfix cujo nome é, por exemplo, srv-internal.central.mydomain.tld com IP interno 10.10.128.200.
Para trocar e-mails com a Internet , ele usa um servidor de retransmissão de mensagens (um servidor em um ambiente DMZ com todos os buracos necessários, por exemplo ..), mesmo com o postfix, cujo nome é mailgw.central.mydomain.tld com interface interna IP 10.10. 133.105
O nome de domínio público de nossa infraestrutura é (digamos) " central.meudominio.tld ", mas " pec.central.meudominio.tld " NÃO É nosso subdomínio . Ele é fornecido por outro provedor de serviços de Internet fora da nossa rede (portanto, os e-mails para esse domínio precisam sair).
Se eu enviar um email de [email protected] (da máquina srv-internal.central.mydomain.tld) para [email protected] , recebo do servidor de retransmissão o seguinte erro:
Sep 4 08:03:16 mailgw postfix/smtpd[26678]: NOQUEUE: reject: RCPT from unknown[10.10.128.200]: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in relay recipient table; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<srv-internal.central.mydomain.tld>
Sep 4 08:03:16 mailgw postfix/smtpd[26678]: disconnect from unknown[10.10.128.200]
Meu servidor de retransmissão está no Linux CentOS, versão 5.7, o postfix é o postfix-2.3.3-2.1.el5_2 dos repositórios padrão do CentOS.
Digamos que meu domínio seja:
mydomain = central.mydomain.tld
E minha configuração do postfix no servidor de retransmissão, atualmente é a seguinte:
(postconf -d; postconf -d; postconf -n;) | classificar | uniq -u
alias_maps = hash:/etc/aliases
biff = no
body_checks = regexp:/etc/postfix/body_checks
content_filter = filter:127.0.0.1:10025
default_process_limit = 10
disable_vrfy_command = yes
header_checks = pcre:/etc/postfix/header_checks
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 12582912
mime_header_checks = regexp:/etc/postfix/mime_header_checks
mydestination = $myhostname, localhost.$mydomain
myhostname = mailgw.$mydomain
mynetworks = 127.0.0.0/8, 10.10.24.0/24, 10.10.128.200/32, 10.10.128.201/32
newaliases_path = /usr/bin/newaliases.postfix
readme_directory = /etc/postfix/README_FILES
receive_override_options = no_address_mappings
relay_domains = $mydomain, riminiventure.it
relay_recipient_maps = hash:/etc/postfix/relay_recipients
sample_directory = /etc/postfix/samples
sendmail_path = /usr/sbin/sendmail.postfix
smtpd_error_sleep_time = 5s
smtpd_hard_error_limit = 10
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_client_access hash:/etc/postfix/access_client, check_helo_access hash:/etc/postfix/access_helo, check_sender_access hash:/etc/postfix/access_sender, pcre:/etc/postfix/access_sender_pcre, check_recipient_access hash:/etc/postfix/access_recipient, reject_unauth_destination, reject_invalid_hostname, reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl.spamhaus.org, check_policy_service inet:127.0.0.1:2501, permit
smtpd_soft_error_limit = 3
strict_rfc821_envelopes = yes
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 450
virtual_alias_domains = riminifar.it
virtual_alias_maps = hash:/etc/postfix/virtual
E este é o meu / etc / postfix / transport:
central.mydomain.tld smtp:[srv-internal.central.mydomain.tld]
someotherdomain.org smtp:[srv-internal.central.mydomain.tld]
yadomain.it smtp:[srv-internal.central.mydomain.tld]
xad.central.mydomain.tld smtp:[srv-internal.central.mydomain.tld]
test.central.mydomain.tld smtp:[10.10.15.101]
Agora, o endereço do destinatário foi rejeitado: o usuário desconhecido na tabela de destinatários de retransmissão parece que o servidor de retransmissão (mailgw) "pensa" que "pec.central.mydomain.tld" é um de seu subdomínio; portanto, ele procura pelo usuário destinatário em seus relay_recipient_maps, enquanto não deveria IMHO.
Eu esperava esse comportamento se eu colocasse ".central.mydomain.tld" (com ponto inicial!) Na minha tabela de transporte, mas eu realmente tenho "central.mydomain.tld", portanto, lendo os manuais, ele deve considerar apenas o nome de domínio , e não também subdomínios.
Eu aprecio muito se alguém pudesse me sugerir o que estou fazendo de errado.
No meu caso, encontrei a lista de permissões para o usuário de email em: / etc / postfix / relay_recipients Se o usuário não estiver nessa lista, ele nunca receberá um email.
fonte