
當郵件傳送到系統的節點名稱時,會自動為收件匣上的每個 UNIX 使用者建立收件匣。
有沒有辦法停用這些預設收件匣?
這些收件匣之一的範例是 root@nodename。
最好不要從本機主機名稱中刪除節點名。
我確實在此 sendmail 伺服器上設定了其他網域,需要保持運作。
答案1
首先你需要看看這裡,以便了解如何產生sendmail.cf
fromsendmail.mc
並隨後重新啟動 sendmail。
現在忘記可虛擬用戶了。我們將定義一類允許接收郵件的使用者名稱。其餘的都將被丟棄。為此,我們添加以下部分sendmail.mc
LOCAL_CONFIG
C{Receive} user1 user2 user3
如果您想在外部文件中定義這些用戶,sendmail.mc
請使用 F 行而不是 C 行,而不是直接編輯您的 :
LOCAL_CONFIG
F{Receive} -o /etc/mail/receive.allow
這樣文件中的每一行都/etc/mail/receive.allow
包含一個允許接收郵件的使用者名稱。此-o
開關可確保 sendmail 在檔案不存在時不會抱怨。
現在已經定義了允許接收郵件的用戶,接下來我們新增以下行:
LOCAL_RULE_0
R${Receive} $#OK
R${Receive} < @ $=w . > $* $#OK
R$* $#discard $: $1
不要複製貼上上面的程式碼片段。代碼的左側與右側以製表符分隔。所以請輸入它。接下來按照有關如何sendmail.cf
編譯並重新啟動 sendmail 的說明進行操作sendmail.mc
。
每次修改sendmail.mc
以新增使用者時,都需要重現sendmail.cf
並重新啟動sendmail。如果您選擇將允許的使用者儲存在外部文件中,則每次修改此文件時都需要重新啟動 sendmail(不需要新的sendmail.cf
)。