In meiner Unternehmensinfrastruktur habe ich einen internen Mailserver mit Postfix, dessen Name beispielsweise srv-internal.central.mydomain.tld mit der internen IP 10.10.128.200 lautet.
Für den Austausch von E-Mails mit dem Internet wird ein Relay-Mail-Server (z. B. ein Server in einer DMZ-Umgebung mit allen erforderlichen Pinholes) verwendet, auch mit Postfix, dessen Name mailgw.central.mydomain.tld mit der internen Schnittstelle IP 10.10 lautet . 133.105
Der Public Domain-Name unserer Infrastruktur lautet (sagen wir) " central.mydomain.tld ", aber " pec.central.mydomain.tld " ist NICHT unsere Subdomain . Es wird von einem anderen ISP außerhalb unseres Netzwerks bereitgestellt (E-Mails an diese Domain müssen also gesendet werden).
Wenn ich eine E-Mail von [email protected] (von srv-internal.central.mydomain.tld machine) an [email protected] sende , erhalte ich vom Relay-Server den folgenden Fehler:
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]
Mein Relay-Server befindet sich unter Linux CentOS Version 5.7. Die Postfix-Version ist Postfix-2.3.3-2.1.el5_2 aus Standard-CentOS-Repositorys.
Angenommen, meine Domain lautet:
mydomain = central.mydomain.tld
Und meine Postfix-Konfiguration auf dem Relay-Server lautet derzeit wie folgt:
(postconf -d; postconf -d; postconf -n;) | sortieren | 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
Und das ist mein / 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]
Jetzt wurde die Empfängeradresse abgelehnt: Der in der Relay-Empfängertabelle unbekannte Benutzer scheint zu denken, dass der Relay-Server (mailgw) "pec.central.mydomain.tld" als eine seiner Subdomains betrachtet, und sucht daher in seinen relay_recipient_maps nach dem Empfängerbenutzer sollte IMHO nicht.
Ich habe dieses Verhalten erwartet, wenn ich ".central.mydomain.tld" (mit dem anfänglichen Punkt!) In meine Transporttabelle eingefügt habe, aber ich habe wirklich "central.mydomain.tld". Beim Lesen von Handbüchern sollte also nur der Domänenname berücksichtigt werden und nicht auch Subdomains.
Ich schätze es sehr, wenn mir jemand vorschlagen könnte, was ich falsch mache.
In meinem Fall fand ich die Whiteliste für E-Mail-Benutzer unter: / etc / postfix / relay_recipients Wenn Ihr Benutzer nicht in dieser Liste enthalten ist, würde er niemals eine E-Mail erhalten.
quelle