我正在運行一個帶有 2 個網域的 postfix 郵件伺服器,一個是真實網域,一個是虛擬使用者的虛擬網域,我的問題是如何向我的郵件伺服器的所有使用者發送一條「管理訊息」?所以我可以通知他們有關更新/停機等資訊。
答案1
您需要建立指向所有使用者的通訊群組清單或別名。如果您手動設定 Postfix,您可以在 /etc/aliases 中建立一個新列表,例如:
allusers: user1, user2, user3
……並且只包含該別名中的所有使用者。不要忘記newaliases
在儲存新的 /etc/aliases 檔案後使用(現在應該已經成為習慣)。您應該建立腳本來自動維護這樣一個分發列表,該列表知道如何列舉系統上的所有使用者。例如,如果所有有效使用者都在 /etc/passwd 中,您可以解析它,或者如果他們都有主目錄在 /home/ 中,您可以列出這些目錄。
維護起來可能會很痛苦。您可以使用命令列 mailman 工具透過 Mailman 郵件清單獲得相同的結果,但您仍然需要自行維護使用者清單。有關這些的更多信息,請參見此處:http://www.gnu.org/software/mailman/site.html
如果您使用的是GUI管理工具,例如webmin或cpanel等,它們都具有「向所有使用者發送郵件」功能。
如果您使用LDAP 作為postfix 的後端或儲存有關使用者、郵件帳戶、郵件別名和郵件清單的信息,您可以使用LDAP 中的「動態群組」之類的內容建立郵件清單/別名(Google for LDAP 動態群組) )並讓您的 LDAP 伺服器自動產生上述通訊群組清單。不過,聽起來您並沒有使用 LDAP...
不幸的是,在具有潛在許多本地用戶的系統上手動配置 Postfix 的一般情況下,Postfix 不一定會提前列舉用戶。例如,當郵件到達時,它可能必須在 getpwent、LDAP 等中按需查找用戶名,具體取決於您的配置。很抱歉帶來壞消息。
編輯:順便說一句,如果您使用該/etc/aliases
方法,請務必在垃圾郵件過濾器中為該地址建立一個特殊的過濾規則,以防止來自外部的郵件發送到該地址。這樣,垃圾郵件發送者就不會輕易得逞。