17
Jul
CentOS下安装postfix邮件系统让php程序可以自动发送邮件如验证邮件
0 COMMENTS
很多PHP程序如Discuz、ECSHOP之类的支持自动发邮件,都支持两种发送模式一种是以smtp模式,需要填写完整smtp服务器啦、账号啦、密码啦什么的,非常麻烦,而且短时间内大量发送还会被服务商冻结账号。另一种模式是使用服务器内置mail函数。但刚配置好的CentOS服务器一般不带邮件系统,要么就是默认的sendmail,但sendmail问题大家都知道,比较麻烦,相对而言,postfix却是相当的好用,那么我们只好自己动手配置环境了。
首先卸载掉sendmail(如果有的话)停止服务:
#service sendmail stop
取消自动启动:
# chkconfig --levels 345 off sendmail
卸载sendmail:
# yum remove sendmail
安装postfix:
# yum -y install postfix
安装完成后编辑postfix配置文件:
#vim /etc/postfix/main.cf
配置文件
#myhostname = host.domain.tld //找到此行,将等号后面的部分改写为主机名 myhostname = abcserver //变为此状态,设置系统的主机名主机名查看直接打命令:hostname #mydomain = domain.tld //找到此行,将等号后面的部分改写为域名 mydomain = abc.com //变为此状态,设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分) #myorigin = $mydomain //找到此行,将行首的#去掉 myorigin = $mydomain //变为此状态,将发信地址“@”后面的部分设置为域名(非系统主机名) inet_interfaces = localhost //找到此行,将“localhost”改为“all” inet_interfaces = all //变为此状态,接受来自所有网络的请求 mydestination = $myhostname, localhost.$mydomain, localhost //找到此行,在行为添加“$mydomain” mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain //变为此状态,指定发给本地邮件的域名 #relay_domains = $mydestination //找到此行,将行首的#去掉 relay_domains = $mydestination //变为此状态,定义允许转发的域名
保存退出即可。
查看默认MTA是否正确
#alternatives --config mta //设置默认MTA There are 2 programs which provide 'mta'. Selection Command-----------------------------------------------*+ 1 /usr/sbin/sendmail.sendmail //当前状态:sendmail为默认MTA 2 /usr/sbin/sendmail.postfix Enter to keep the current selection[+], or type selection number: 2//在这里输入2,使Postfix成为默认MTA具体输几要看你的postfix在几
修改PHP.ini
# vi /etc/php.ini
sendmail_path = //找到该位置,修改等号后面内容 sendmail_path = /usr/sbin/sendmail.postfix -t -i //修改为postfix的路径
这样重启下服务器就大功告成啦,在你的PHP程序内选择下mail函数发送,测试成功没?
本文地址:http://cms.xisix.com:8880/post-113.html
« 上一篇:网页中完全屏蔽左键选中和右键菜单
追忆那些年我们追过的XP:下一篇»
添加新评论