Postfix: Alıcı adresi reddedildi: Alıcı alan adı harici bir alan adı olsa bile, yerel alıcı tablosunda bilinmeyen kullanıcı


9

Şirket altyapımda postfix ile dahili IP 10.10.128.200 adında srv-internal.central.mydomain.tld olan dahili bir posta sunucum var.

Net ile e-posta alışverişi yapmak için , adı IP arabirimi 1010 olan mailgw.central.mydomain.tld olan postfix ile bile bir aktarma posta sunucusu (örneğin DMZ ortamında tüm gerekli iğne deliklerine sahip bir sunucu) kullanır . 133,105

Altyapımızın kamu malı adı (diyelim) " central.mydomain.tld ", ancak " pec.central.mydomain.tld " alt alanımız DEĞİLDİR . Ağımız dışındaki başka bir İSS tarafından sağlanır (bu nedenle, bu alan adına gönderilen postalar dışarı çıkmalıdır).

Ben bir posta gönderirseniz user1@central.mydomain.tld için (srv-internal.central.mydomain.tld makineden) foo@pec.central.mydomain.tld , ben röle sunucusundan aşağıdaki hata aldığım:

Sep  4 08:03:16 mailgw postfix/smtpd[26678]: NOQUEUE: reject: RCPT from unknown[10.10.128.200]: 550 5.1.1 <foo@pec.central.mydomain.tld>: Recipient address rejected: User unknown in relay recipient table; from=<user1@central.mydomain.tld> to=<foo@pec.central.mydomain.tld> proto=ESMTP helo=<srv-internal.central.mydomain.tld>
Sep  4 08:03:16 mailgw postfix/smtpd[26678]: disconnect from unknown[10.10.128.200]

Geçiş sunucum Linux CentOS sürüm 5.7'de, postfix sürümü standart CentOS depolarından postfix-2.3.3-2.1.el5_2.

Diyelim ki alan adım:

 mydomain = central.mydomain.tld

Geçiş sunucusundaki postfix yapılandırmam şu anda şu:

(postconf -d; postconf -d; postconf -n;) | sıralama | 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

Ve bu benim / etc / postfix / transport'ım:

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]

Şimdi, Alıcı adresi reddedildi: Aktarma alıcı tablosunda bilinmeyen kullanıcı , aktarma sunucusunun (mailgw) "pec.central.mydomain.tld" dosyasının alt alanlarından biri olduğunu "düşündüğünü", bu nedenle alıcı kullanıcıyı aktarma_recipient_maps içinde aradığını söylüyor. IMHO olmamalı.

Taşıma tabloma ".central.mydomain.tld" (ilk nokta ile!) Koymak, ancak gerçekten "central.mydomain.tld" varsa, bu davranış beklediğimden, bu nedenle, kılavuzları okumak, yalnızca etki alanı adını dikkate almalıdır ve alt alan adlarını da içermez.

Birisi bana yanlış yaptığımı önerebilirse çok memnun olurum.

Yanıtlar:


6

Bilmeniz gereken parametre parent_domain_matches_subdomains .

"Example.com" şablonunun, açık bir ".example.com" deseni gerektirmek yerine example.com alt alanlarıyla da eşleştiği Postfix özelliklerinin listesi. Bu geriye dönük uyumluluk olarak planlanmıştır: Sonuç olarak, tüm Postfix özelliklerinin gerçekten alt alanlarla eşleşmek istediğinizde açık ".example.com" stil kalıpları gerektirmesi beklenir.

Dolayısıyla, parent_domain_matches_subdomains, postfix'in alt alanıyla eşleşmesi gereken alanın listesini de (nokta) önünde olmasa bile tutar .

Ne yazık ki, relay_domainsparametre bu listeye düşer.

# postconf parent_domain_matches_subdomains
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps

Senin çünkü relay_domainsiçeren $mydomainveya central.mydomain.tld , postfix tüm alan adınızla eşleşen central.mydomain.tld olarak relay_domainsdeğil dış olanları.


Çözüm ayarlanmıştır parent_domain_matches_subdomainsve bu parametreye aktarım_alanlarını dahil etmeyin.


Çok teşekkür ederim, @masegaloeh. Bir cazibe gibi çalıştı! :) Açıklamanız yine Tnx çok açıktı.
gabolander

@gabolander Bu işe yararsa, lütfen bu yanıtı kabul etmeyi düşünün , bu yüzden soru
cevapsız

Bunu zaten yaptım, teşekkür ederim. (Yararlı olarak rapor edemem, çünkü 15'e itibar olarak ihtiyacım var ve henüz yok)
gabolander

0

Benim durumumda e-posta kullanıcısı için beyaz listeyi aşağıdaki gibi buldum: / etc / postfix / relay_recipients Eğer kullanıcı bu listenin içinde değilse, asla bir e-posta almaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.