Freebsd
使用 SMTP 到外部收件人 POSTFIX FREEBSD 時中繼訪問被拒絕
我正在嘗試使用 postfix 和 dbmail 通過我的 freebsd 伺服器向外部地址發送電子郵件。
我注意到以下幾點:
我的伺服器 -> 我的伺服器 = 好的
外部伺服器 -> MYSERVER = 好的
MYSERVER -> EXTERNALSERVER = 錯誤(454 4.7.1 中繼訪問被拒絕)
為什麼我會收到此錯誤?我認為這與我的 main.cf 有關
####MAIN.CF###### queue_directory = /var/spool/postfix command_directory = /usr/local/sbin daemon_directory = /usr/local/libexec/postfix data_directory = /var/db/postfix mail_owner = postfix default_privs = nobody myhostname = server.domain.nl mydomain = domain.nl myorigin = $mydomain inet_interfaces = all virtual_transport = dbmail-lmtp:localhost:24 virtual_mailbox_domains = domain.nl unknown_local_recipient_reject_code = 550 mynetworks = 127.0.0.0/8 [::1]/128 smtpd_helo_required = yes strict_rfc821_envelopes = yes 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/local/sbin/sendmail mailq_path = /usr/local/bin/mailq setgid_group = maildrop html_directory = /usr/local/share/doc/postfix manpage_directory = /usr/local/man sample_directory = /usr/local/etc/postfix readme_directory = /usr/local/share/doc/postfix inet_protocols = ipv4 smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination
是不是您沒有通過正確的身份驗證(通過您的郵件客戶端)發送出站電子郵件,或者沒有設置 mynetworks 以便它允許您網路中的所有系統在沒有身份驗證的情況下發送?
https://serverfault.com/questions/42519/how-to-correct-postfix-relay-access-denied
sendmail
當我在這個執行緒中設置時,我收到了類似的錯誤消息。對我來說,問題是我通過埠 465 進行身份驗證,這是帶有 TLS 的 SMTP,但該協議需要在身份驗證後執行 TLS,例如通過埠 25,這是沒有 TLS 的 SMTP。解決方案是將埠更改
~/.authinfo
為machine server.domain.tld login username@domain.com port 25 password XYZ
更新:我不是 SMTP 專家。我的回答是基於我的經驗和這個執行緒,其中有評論提到了我使用埠 25 進行身份驗證的反駁:
這不是 SMTP AUTH 的工作方式:您使用相同的埠進行身份驗證和發送,在本例中為 587。