虽然说sendmail用着还是不错的,但是从某些原因来讲我还是更加喜欢一个快速便捷的邮件发送服务器,很荣幸我找到了postfix,于是乎我毅然决然的卸载了我亲爱的sendmail用上了postfix,记安装过程如下。
安装postfix
在安装之前还有必不可少的过程,卸载sendmail,当然如果你之前没有安装过sendmail就不用卸载了。在Shell窗口执行一下命令:
yum remove sendmail
执行完这个过后就卸载了sendmail了,怎么 样是不是很便捷啊,然后我们执行另外一条命令来安装postfix
yum install postfix
安装完成后我们还需要把默认的MTA的sendmail替换成postfix,执行
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix
然后我们执行下面这段代码开始准备配置postfix
vi /etc/postfix/main.cf
按i进入编辑模式,?内容回车查找并修改为类似如下内容。注意这些内容并不在一个地方。
myhostname = mail.cxsir.com
mydomain = cxsir.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.100.10/24, 127.0.0.0/8
relay_domains =
home_mailbox = Maildir/
然后按ESC退出编辑,按shift+:输入wq保存。做完这些后我们需要检测启动postfix
service postfix status //检测,若已启动会列出其PID,如下:
master (pid 25579) is running...
//若未启动,执行以下命令:
service postfix start
我们还需要把postfix加入开机启动
chkconfig postfix on
做完这些过后我们就可以开开心心的使用postfix发送邮件了。当然如果之前没有配置php.ini那么我们还需要修改php.ini的sendmail。执行:
vi /etc/loca/php/etc/php.ini //根据你的路径自行修改
然后查找编辑sendmail_path
sendmail_path = /usr/sbin/sendmail -t -i
保存并退出,然后重启PHP
/etc/init.d/php restart
配置解析
mydomain:
mydomain参数是指email服务器的域名,请确保为正式域名(cxsir.com)
myhostname:
myhostname参数是指系统的主机名称(如我的服务器主机名称是mail.cxsir.com)
myorigin:
myorigin参数指定本地发送邮件中来源和传递显示的域名。在我们的例子中,mydomain是cxsir.com,也是我的域名。
对于下面的一行,我们的邮件地址是[email protected]而不是[email protected]。
myorigin = $mydomain
mynetworks:
mynetworks参数指定受信任SMTP的列表,具体的说,受信任的SMTP客户端允许通过Postfix传递邮件。
mydestination:
mydestination参数指定哪些邮件地址允许在本地发送邮件。这是一组被信任的允许通过服务器发送或传递邮件的IP地址。用户试图通过发送从此处未列出的IP地址的原始服务器的邮件将被拒绝。
inet_interfaces:
inet_interfaces参数设置网络接口以便Postfix能接收到邮件。
relay_domains:
该参数是系统传递邮件的目的域名列表。如果留空,我们保证了我们的邮件服务器不对不信任的网络开放。
home_mailbox:
该参数设置邮箱路径与用户目录有关,也可以指定要使用的邮箱风格。
小结
本文基于Centos完成,其他系统请不要尝试。如果需要安装sendmial可以在博客侧边栏搜索senmdial获取sendmail安装教程。