Sendmail郵件服務器快速指(5)_Mail服務器教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
建立virtusertable的方法與建立access的辦法是一樣的:
makemap hash virtusertable.db < virtusertable
然后重新啟動sendmail。
2、如何設定用戶別名?
用戶的別名是由文件/etc/mail/aliases來設定的。最簡單的情況是需要作信件分發的情況。例如,一般情況下,電子郵件出現問題的時候,我們需要把出錯的郵件頭發送到本機的postmaster用戶,但是也許你的系統上有多個系統管理員,因此每個人都需要得到一份這個郵件頭的拷貝。這種情況下就需要使用用戶別名文件了。
aliases文件的格式是 郵件別名:實際用戶名,如果一個別名有多個用戶就用逗號分開,每個別名一行。例如,要把發給postmaster的信件發送給supervisor和manager,需要寫上這樣一行:
postmaster:supervisor,manager
別名還可以用在這樣的情況,即定義自動的郵件轉發。例如,某個用戶以前在你的系統上接受電子郵件,現在他有了一個新的電子郵件,希望發到你的機器上的郵件自動被轉發到他新的電子郵件地址上,那么,可以使用類似這樣的別名方式:(假設你的機器是joe@linuxaid.com.cn)
joe:joe@xxxxx.com
以后發給joe@linuxaid.com.cn的電子郵件就自動中轉到joe@newaddr.com。注意左邊自動加上你的機器名字,所以左邊只能是賬號名字,不能是全限定郵件地址。
另一個常用的辦法是重定向。如果你在模板文件中定義了REDIRECT特性,那么可以使用這個功能。例如,某個人在你的機器上開了一個賬戶user1,后來遷移到user2@server2.com。那么,你可以將其別名寫成
user1: user2@server2.com.REDIRECT
以后當有人向這個地址發信的時候,你的sendmail會將其退回,并且返回一個551 User not local; please try user2@server2.com的信息。
在使用別名的時候,必須注意的是不要造成循環,例如user1轉發給user2,user2又將其轉發給user1....如此循環。在這種情況下,轉發17次后,sendmail將把它退還給發信人。最常見的錯誤發生在你試圖在轉發郵件的同時在本地保留備份的情況下,例如:
user1: user1,user2
就構成了一個循環。
要在本地保留備份,使用轉義符號,例如
user1: user1,user2
建立了別名文件之后,需要將其初始化,這可以通過newaliases命令完成:
[root@mail mail]# newaliases
/etc/aliases: 17 aliases, longest 31 bytes, 241 bytes total
也可以使用sendmail -bi命令:
[root@mail mail]# sendmail -bi
/etc/aliases: 17 aliases, longest 31 bytes, 241 bytes total
兩種方式實際是完全一樣的。
類似于通過aliases文件進行郵件轉發,用戶也可以使用自己的轉發文件,例如,某個用戶user1想讓發送給自己的郵件全部轉發到xxxxx@xxxxxx.com,但是又不希望建立全局的用戶別名,那么可以在自己的宿主目錄下面建立一個.forward文件,內容只要一行:
xxxxxx@xxxxx.com
就可以了。 這種技術可以讓每個用戶自己管理自己的郵件別名。
makemap hash virtusertable.db < virtusertable
然后重新啟動sendmail。
2、如何設定用戶別名?
用戶的別名是由文件/etc/mail/aliases來設定的。最簡單的情況是需要作信件分發的情況。例如,一般情況下,電子郵件出現問題的時候,我們需要把出錯的郵件頭發送到本機的postmaster用戶,但是也許你的系統上有多個系統管理員,因此每個人都需要得到一份這個郵件頭的拷貝。這種情況下就需要使用用戶別名文件了。
aliases文件的格式是 郵件別名:實際用戶名,如果一個別名有多個用戶就用逗號分開,每個別名一行。例如,要把發給postmaster的信件發送給supervisor和manager,需要寫上這樣一行:
postmaster:supervisor,manager
別名還可以用在這樣的情況,即定義自動的郵件轉發。例如,某個用戶以前在你的系統上接受電子郵件,現在他有了一個新的電子郵件,希望發到你的機器上的郵件自動被轉發到他新的電子郵件地址上,那么,可以使用類似這樣的別名方式:(假設你的機器是joe@linuxaid.com.cn)
joe:joe@xxxxx.com
以后發給joe@linuxaid.com.cn的電子郵件就自動中轉到joe@newaddr.com。注意左邊自動加上你的機器名字,所以左邊只能是賬號名字,不能是全限定郵件地址。
另一個常用的辦法是重定向。如果你在模板文件中定義了REDIRECT特性,那么可以使用這個功能。例如,某個人在你的機器上開了一個賬戶user1,后來遷移到user2@server2.com。那么,你可以將其別名寫成
user1: user2@server2.com.REDIRECT
以后當有人向這個地址發信的時候,你的sendmail會將其退回,并且返回一個551 User not local; please try user2@server2.com的信息。
在使用別名的時候,必須注意的是不要造成循環,例如user1轉發給user2,user2又將其轉發給user1....如此循環。在這種情況下,轉發17次后,sendmail將把它退還給發信人。最常見的錯誤發生在你試圖在轉發郵件的同時在本地保留備份的情況下,例如:
user1: user1,user2
就構成了一個循環。
要在本地保留備份,使用轉義符號,例如
user1: user1,user2
建立了別名文件之后,需要將其初始化,這可以通過newaliases命令完成:
[root@mail mail]# newaliases
/etc/aliases: 17 aliases, longest 31 bytes, 241 bytes total
也可以使用sendmail -bi命令:
[root@mail mail]# sendmail -bi
/etc/aliases: 17 aliases, longest 31 bytes, 241 bytes total
兩種方式實際是完全一樣的。
類似于通過aliases文件進行郵件轉發,用戶也可以使用自己的轉發文件,例如,某個用戶user1想讓發送給自己的郵件全部轉發到xxxxx@xxxxxx.com,但是又不希望建立全局的用戶別名,那么可以在自己的宿主目錄下面建立一個.forward文件,內容只要一行:
xxxxxx@xxxxx.com
就可以了。 這種技術可以讓每個用戶自己管理自己的郵件別名。
相關Mail服務器教程:
- 相關鏈接:
- 教程說明:
Mail服務器教程-Sendmail郵件服務器快速指(5)。