在一個名爲server0.example.com的機器上,設置POSTFIX郵件服務器,達到如下目的:vim
一、server0.example.com上,若是出現什麼情況的話,由mail程序發郵件給用戶student。可是這臺server0不收郵件,也只發送郵件給本機用戶服務器
二、desktop0.example.com爲server0的用戶,如student等收郵件ssh
在desktop0.example.com上,操做步驟以下:oop
lab null-smtpclient setuppost
提示信息中,能夠看到,這裏安裝了一個接收郵件的軟件dovecot。spa
在server0.example.com上,操做步驟以下:rest
第1步:lab null-smtpclient setupserver
第2步:vim /etc/postfix/main.cf,修改relayhost、inet_interfaces、myorigin、mynetworks、mydestination等5個參數it
第3步:systemctl restart postfix //重啓POSTFIXio
第2步的設置參數爲:
relayhost = [stmp0.example.com]
inet_interfaces = loopback-only
myorigin = desktop0.example.com
mynetworks = 127.0.0.0/24 [::1]/128
mydestination =
但是,不管怎麼改,重啓的時候,POSTFIX就會癱在那兒,起不來。總說這幾個參數有錯誤。到網上搜索,發現有人犯了一樣的錯誤。也有人回答,說把前面那個空格去掉。
myorigin = desktop0.example.com
爲了美觀,我老是不禁自主地在=兩邊各加一個空格。那好,改吧。
myorigin =desktop0.example.com
=後面的空格去掉了。還不行。再改。
myorigin=desktop0.example.com
=前面的空格也去掉了。仍是不行。找啊找啊,終於明白,配置文件main.cf中每一行的第一個字符不能是空格!
我有個毛病,總對齊。main.cf中有示例,如:
#myorigin =$myhost
myorigin = desktop0.example.com
我不禁自主地想讓兩行的myorigin對齊,便在行首加了一個空格!而後,白白浪費了幾個小時的時間,差點崩潰了!據說Python就是依靠空格來判斷程序塊,錯一個空格也會有問題!真變態!
把行首的空格都去掉。重啓postfix。正常。在server0.example.com上,發一封郵件試試。
echo 'email content' | mail -s 'email title' student
給student發一封信。這時候,只能到desktop0.example.com上接收。用ssh連到desktop0.example.com
mail -u student
其實郵件都放在/var/mail/student裏面。用下面的不專業的方法能夠閱讀全部的郵件。
cat /var/mail/student