【很棒】Postfix使用介绍

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" xxxx@xxx.com

Note:if you see below warings after you run above command.

send-mail: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
send-mail: warning: inet_protocols: configuring for IPv4 support only
postdrop: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
postdrop: warning: inet_protocols: configuring for IPv4 support only

that means you don't have IPv6 configured in your OS's network stack, but your mailer (presumably postfix) is configured to use IPv6. Since there is no IPv6 for your mailer to use, it's warning you that it's only going to use IPv4.

 

To disable the waring messsage, go to /etc/postfix/main.cf and change from:

inet_protocols = all

to:

inet_protocols = ipv4

This will only use ipv4 and the warning message will go away.

You will have to issue a stop and start for postfix to register the change. 

service postfix restart


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

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

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


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


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

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

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

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

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


7.Update Mail From sender

echo "do-not-reply@example.com   root@example.com" >> /etc/postfix/generic 
echo "smtp_generic_maps = hash:/etc/postfix/generic" >>/etc/postfix/main.cf 
postmap /etc/postfix/generic
service postfix restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值