Linux搭建Postfix邮件服务

时间:2014-05-18 09:10:48   收藏:0   阅读:342

Postfix为何物,详见:http://zh.wikipedia.org/wiki/Postfix

0.关于Postfix

postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度,性能和稳定性上都更胜一筹。现在目前非常多的主流邮件服务其实都在采用postfix. 当我们需要一个轻量级的的邮件服务器是,postfix不失为一种选择。

1. postfix是免费的:
    postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
2. 更快:
    postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
3. 兼容性好:
    postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
   4. 更健壮:
postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
5. 更灵活:
postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以
通过配置文件设置每个程序的运行参数。
   6. 安全性
postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。

下面来介绍linux上如何搭建和配置postfix服务:


1.关掉sendmail相关的所有服务,最好是直接卸载sendmail.

# service sendmail stop
# chkconfig sendmail off

#rpm -qa | grep sendmail | xargs rpm -e


2.安装postfix.

redhat6.0以上版本应该是默认集成了postfix服务的,假如没有安装的话,可以手动安装。

rpm -qa | grep postifx (查看是否安装)

yum install postfix


3.安装完成后,修改配置文件:/etc/postfix/main.cfg


vi /etc/postfix/main.cf


myhostname = sample.test.com  ← 设置系统的主机名


mydomain = test.com  ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)


myorigin = $mydomain  ← 将发信地址“@”后面的部分设置为域名(非系统主机名)


inet_interfaces = all  ← 接受来自所有网络的请求


mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  ← 指定发给本地邮件的域名


home_mailbox = Maildir/  ← 指定用户邮箱目录


<保存退出!>


4.为本机添加DNS server.

为什DNS Server?因为在邮件发送过程中,需要把邮件地址的domain地址转化成IP地址,再去发送给对应的收件人,这里涉及到DNS中的A记录和MX记录相关的知识,不熟悉的同学可以google或者百度 脑补一下 :-)


如何添加DNS server呢,DNS server去哪里寻找?

vim /etc/resolv.conf 

添加如下行:

nameserver 8.8.8.8

nameserver 8.8.4.4


上面用的8.8.8.8/8.8.4.4是Google Free DNS server,当然还有很多免费的DNS server供大家使用,可以google一下:-)


5.测试一下邮件是否能够发送成功:

命令行输入$: > echo "Mail Content" | mail -s "Mail Subject" qinzg@cn.ibm.com


6.查看log,确认邮件发送状态:

Postfix邮件的log位置是:/var/log/maillog

发送成功的话,会返回250和OK,也可以去自己的邮件客户端查收。


一切OK的话,那Postfix mail service应该就搭建成功了。


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

另外一些有用的postfix维护命令,一遍日常的检测和维护:

mailq :会列出当前在postfix发送队列中的所有邮件

postsuper -d ALL:删除当前等待发送队列的所有邮件,包括发送失败的退信

当然还有很多,就不一一列举了,大家可以网上搜索扩展,Good Luck!



Linux搭建Postfix邮件服务,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!