centos php发送邮件,CentOS下安装postfix邮件系统让php程序可以自动发送邮件如验证邮件...

很多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.inisendmail_path = //找到该位置,修改等号后面内容

sendmail_path = /usr/sbin/sendmail.postfix -t -i  //修改为postfix的路径

这样重启下服务器就大功告成啦,在你的PHP程序内选择下mail函数发送,测试成功没?

et_highlighter51

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值