접미사 오류: 릴레이 액세스가 거부되었습니다.

접미사 오류: 릴레이 액세스가 거부되었습니다.

외부 이메일 주소(예: Gmail)로 메일을 보낼 수 없습니다.

Telnet을 사용하여 메일을 보내려고 하면 다음 오류가 발생합니다.

Trying 130.xx.xx.128...
Connected to mydomain.com.
Escape character is '^]'.
220 server2.mydomain.com ESMTP Postfix
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
554 5.7.1 <[email protected]>: Relay access denied

이것은 내 main.cf 파일입니다.

queue_directory = /var/spool/postfix

command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = all 
inet_protocols = all 
mydestination = server2.myserver.com, localhost, localhost.localdomain
unknown_local_recipient_reject_code = 550 
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
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
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
virtual_alias_domains = $virtual_alias_maps  
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes 
broken_sasl_auth_clients = yes 
smtpd_sasl_authenticated_header = yes 


smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = maildrop
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks
myhostname = server2.myserver.com
mynetworks = 127.0.0.0/8 [::1]/128
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

어떻게 해야 합니까?

답변1

문제를 이해하는 열쇠는 다음 두 줄입니다.

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
mynetworks = 127.0.0.0/8 [::1]/128

mynetworkslocalhost만 나열되고, 연결 기록에는 localhost에 연결 중임을 나타내는 내용이 없습니다(사실 연결되지 않았음을 나타내는 내용이 많습니다). SASL을 통해 인증하고 있지 않습니다.

reject_unauth_destination따라서 거의 확실하게 끝에 도달하게 되며 이는 메일 거래가 거부됨을 의미합니다.

루프백 인터페이스를 통해 메일 서버에 연결하거나, mynetworks연결하려는 IP 주소를 포함하도록 확장하거나, SASL을 사용하여 메일 서버에 인증하세요. 그러면 릴레이가 더 잘 작동할 것입니다.

또한 이러한 문제를 해결하기 위한 좋은 장소는 일반적으로 서버 로그입니다. 메일 거래가 거부된 이유에 대한 세부 정보는 거의 포함되지 않으며 일반적으로 해결 방법을 알려줍니다.

관련 정보