2008 年,我設定了一個簡單的郵件伺服器(運行 ubuntu 8.04 LTS),以允許本地自動化控制器無限制地發送電子郵件警報。我曾經使用過 gmx,但發現如果帳戶有大量警報(表示有問題),gmx 就會阻止它。我設定了 postfix 並讓它工作。然後我需要能夠允許這種類型的控制器從遠端站點發送警報。我為靜態 IP 位址設定了防火牆規則,一切正常。
現在,我安裝了一台新伺服器,運行 ubuntu 12.04,執行與以前完全相同的操作。本機控制器可以很好地連接到伺服器並發送電子郵件。但是,當遠端控制器嘗試連接時,我在 /var/log/mail.log 中看到以下內容:
8 月 23 日 16:21:24 localhost postfix/smtpd[6709]:NOQUEUE:拒絕:來自未知的 RCPT[xx.xx.xx.xx]:554 5.7.1:中繼訪問被拒絕;從= 到= 原型=ESMTP helo=
我發現編輯特定行/etc/postfix/main.cf
可以允許各個遠端 IP 位址連接並發送郵件:
mynetworks = 127.0.0.0/8,10.102.0.0/16,xx.xx.xx.xx/32
其中 xx.xx.xx.xx 是遠端位置的靜態 IP 位址。我比較了舊伺服器和新伺服器的配置文件,它們基本上是相同的。有誰知道如何讓它像以前一樣工作?
答案1
「基本相同」與「相同」不同。 :)
您需要在中列出授權的 IP 位址mynetworks
和告訴 Postfix 授權他們:
smtpd_recipient_restrictions =
permit_mynetworks,
答案2
檢查virtual
文件中的 postfix。
/etc/postfix/virtual:
# virtual-alias.domain anything (right-hand content does not matter)
# [email protected] postmaster
# [email protected] address1
# [email protected] address2, address3
#
# The virtual-alias.domain anything entry is required for a
# virtual alias domain. Without this entry, mail is rejected
# with "relay access denied", or bounces with "mail loops
# back to myself".
答案3
因此,要解決該問題,必須正確設定 SASL 和憑證。我幾乎完全按照本指南進行操作,一切正常:
https://help.ubuntu.com/12.04/serverguide/postfix.html。
讓我失望的是我在 8.04 上不需要它。顯然是 postfix 的安全升級。