标签:Mail函数

PHP的mail函数无法发送邮件的解决办法

服务器安装上了centos,但默认不能发送邮件,看来mail函数没起作用,系统已经安装sendmail程序,写了个php脚本也不能发送,我是通过如下办法解决的: 找到php.ini文件,编辑,之后找到sendmail_path设置,把这一行改为: sendmail_path = /usr/sbin/sendmail -t -i 我的系统默认的是: sendmail_path = /usr/sbin/sendmail -t -i -f 这个-f 看来是让mail函数停用了,去掉-f后mail函数工作恢复正常。 给大家分享个php脚本测试代码: < ?php $send = mail(‘yourEmail@lisizhang.com’, ‘邮件标题’, ‘测试邮件内容,如果收到此邮件,表示mail函数成功启用!’); if($send){ echo ‘true’; }else{ echo ‘false’; } ?> 如果返回结果false说明邮件发送失败,如果返回true表示邮件发送成功!  

LNMP的mail函数不能发送邮件解决办法

编译好的LNMP环境下,WordPress的WP Tread Comment插件的自动发送回复邮件功能失效了!!然后我又安装了个PHP探针,测试mail函数是存在的,但是发邮件死活发不出去。 怪哉了,之前我的独立服务器和VPS编译LNMP环境都没有出现这样的问题,一时间丈二的和尚摸不着头脑了。 冷静下来之后,我试着对比了能发邮件和不能发邮件的PHP配置文件,答案是相同的,也就是说没有设置上的问题导致不能发送邮件。试着用Linux下的Shell命令mail发送邮件,新的VPS提示这个命令不存在!! 再做进一步的检查,发现这个VPS默认没有安装sendmail这个Linux下的基本邮件组件。看来问题就在这里了!!通过重新安装 sendmail(我用的CentOS,则是使用yum install sendmail来安装)之后,重启php-fpm进程,结果还是发送失败。 用Shell下的mail命令进行测试,能够正常发出E-Mail,没有任何问题。但是PHP下的mail()函数就是死活不行。 继续网上搜索资料,结果发现编译PHP的时候,需要确保sendmail组件是已经安装好了的,不然发送邮件就不行。但是我又不想重新编译一次PHP(太费时间了),有没有别的办法呢?——答案当然是有的。 只需要在php.ini文件中,找到mail部分的设置,将下面这个参数设置下即可: sendmail_path = /usr/sbin/sendmail -t -i 也就是说让系统找到sendmail的绝对路径,这样就不会有问题啦!重启PHP,测试发送邮件,成功!! 文章来源:http://www.d9ba.com/1537.html