Mail Transfer Agent (MTA),用于向收件人的目标 agent 发送邮件和接收来自其他 agent 的邮件。我们使用 Postfix 作为 MTA,它比 sendmail 更安全高效,且在 Ubuntu 平台上官方源提供更新。
Mail Delivery Agent (MDA),用于用户到服务器上访问自己的邮件。我们使用 Dovecot 作为 MDA,它在 Ubuntu 平台上也是官方源提供更新。
应用于电子邮件服务器的协议:
1 SMTP协议:即简单邮件传输协议,是一种由源地址到目的地址的传送邮件规则,控制邮件的中转方式。Postfix邮件服务器就是这种协议。
2 POP3协议:即邮局协议,规定怎么样连接到邮件服务器和下载电子邮件的协议
3 IMAP协议:即Internet信息访问协议,访问邮件服务器上的邮件
1 安装Postfix
$ sudo apt-get install postfix安装postfix,配置界面出来后选择Internet Site,System mail name填写hb1990.eicp.net。然后postfix应该就安装完毕并且启动了。 如果要给邮件服务器增加域名就修改/etc/postfix/main.cf文件中的如下行(sudo postfix reload重新加载/etc/postfix/main.cf文件):
myhostname = mail.hb1990.eicp.net 邮件服务器主机名
mydomain = hb1990.eicp.net 邮件服务器的域名
myorigin = $mydomain由本机寄出邮件使用的域名
mydestination = $mydomain,localhost邮件服务器要接收什么样的邮件,这样收件人为该域名的邮件才会被服务器留存而不是转给其他 MTA。
重要观念:Postfix预设的Relay流程与收受信件流程:帮助Client发送信件,也就是Relay的功能开放的需求项目:在开放哪些项目之后,你的postfix主机才会帮助『信任』的Client端Relay呢?
当Client 来自信任的网域,也就是IP 符合$mynetworks 的设定值时;
当Client 来自信任的机器,也就是主机名称符合$relay_domains 的设定项目时;
当Client 来自不信任的网域,但是去的目的地主机端符合$relay_domains 的设定时。
当符合上面三点的任何一点时,那么postfix 将对该信件进行relay 的动作喔!收信程序:在哪些情况之下,我们的postfix会将该封信件收下来呢?
收件者主机名称符合$inet_interfaces 的设定;
收件者主机名称符合$mydestination 的设定;
收件者主机名称符合$virtual_maps 的设定。
符合上面三点的任何一项时,那么该封信件就会被我们的postfix 收下来!所以,如果你的postfix 能寄不能收,或者是能收不能寄,请仔细的观察一下上面的几个重大的设定项目,仔细的在你的main.cf 重新设定一下,基本上,应该就不会有太大的问题啦!关闭sendmail服务、关闭sendmail自启动、开启postfix服务
$sudo /etc/init.d/sendmail stop2 安装一个简单的邮件客户端用于测试:
$ apt-get install mailutils421 4.3.0 collect: Cannot write ./dfq94FKCE2001174 (bfcommit, uid=0, gid=121): No such file or directory