在一个名为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