접미사: 다른 도메인 영역에서 거부된 수신자 주소

접미사: 다른 도메인 영역에서 거부된 수신자 주소

이 문서에 설명된 대로 가상 도메인 및 TLS 지원을 사용하여 Postfix/Dovecot을 성공적으로 설치했습니다. https://geekpeek.net/postfix-with-dovecot/...

그러나 문제에 직면했습니다. 내 도메인 영역( blabla예:) 에 있는 사람들에게만 이메일을 보낼 수 있습니다 . 이는 내가 [email protected]에서 이메일을 보낼 수 있다는 뜻입니다 [email protected]. 하지만 내 Google 계정에서 이 주소로 이메일을 보내려고 하면 다음 오류가 발생합니다.

postfix/smtpd[19211]: connect from mail-wi0-f172.google.com[209.85.212.172]
Sep 10 18:23:17 amazon-ws.fs.local postfix/smtpd[19211]: NOQUEUE: reject: RCPT from mail-wi0-f172.google.com[209.85.212.172]: 554 5.7.1 <[email protected]>: Recipient address rejected: Access denied; from=<{myaccount}@gmail.com> to=<[email protected]> proto=ESMTP helo=<mail-wi0-f172.google.com>
Sep 10 18:23:17 amazon-ws.fs.local postfix/smtpd[19211]: disconnect from mail-wi0-f172.google.com[209.85.212.172]

수신자 주소가 거부되었습니다: 액세스가 거부되었습니다.

내가 이해할 수 있는 것은 내 Postfix 서버가 이메일을 거부한다는 것뿐인데 그 이유를 모르겠습니다. Postfix 구성( main.cf)은 다음과 같이 첨부됩니다.

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/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
default_process_limit = 100
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 10485760
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = amazon-ws.fs.local
mynetworks = 172.31.0.0/20, 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
queue_minfree = 20971520
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_connection_count_limit = 10
smtpd_client_connection_rate_limit = 30
smtpd_recipient_limit = 1000
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/postfix/cert/postfix.pem
smtpd_tls_key_file = /etc/postfix/cert/private/postfix.pem
smtpd_tls_loglevel = 0
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_gid_maps = static:2000
virtual_mailbox_base = /var/mail/virtmailbox
virtual_mailbox_domains = /etc/postfix/virtdomains
virtual_mailbox_maps = hash:/etc/postfix/virtmail_maps
virtual_minimum_uid = 2000
virtual_uid_maps = static:2000

운영 체제:RHEL7.1, Postfix 버전 2.10.1

뭐가 문제 야?

답변1

master.cf@alexkowalski가 언급했듯이 파일의 짧은 인수(-o)에 문제가 있습니다.`main.cf 파일에 없음.

-o 옵션은 master.cf서비스별로 작성된 옵션을 재정의할 수 있으므로 매개변수 값은 파일에서 가져옵니다.main.cfsmtpd_recipient_restrictionsmaster.cf

smtpd_recipient_restrictions매개변수에 유의하세요 .

smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
------->  -o smtpd_recipient_restrictions=permit_sasl_authenticated, reject

해당 행과 내가 원하지 않는 다른 모든 -o 행을 주석 처리하면 파일에 기록된 값이 main.cf사용됩니다.

답변2

드디어 문제를 발견했습니다! master.cf파일에 짧은 매개변수가 있습니다.

나는 가지고있다:

   -o smtpd_recipient_restrictions=permit_sasl_authenticated, reject

다음과 같아야 합니다:

   -o smtpd_recipient_restrictions=permit_sasl_authenticated, reject_unauth_destination

sasl 인증이 시작되기 전에 smtpd가 들어오는 모든 연결을 거부하므로 매개변수를 reject로 변경 해야 합니다.reject_unauth_destination

관련 정보