开发者社区> 问答> 正文

需要虚拟主机支持mail()函数

已解决

展开
收起
2018-01-23 10:57:09 1055 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档


    WordPress程序使用的不是fsockopen函数发信,而是使用stream_socket_client函数发信,如果PHP函数在虚拟主机中被禁用,则会导致发信失败。解决方法如下:

    可以通过修改WordPress程序中wp-includes/class-smtp.php文件,找到以下内容部分。

        $this->smtp_conn = @stream_socket_client(            

            $host . ":" . $port,            

            $errno,            

            $errstr,            

            $timeout,            

            STREAM_CLIENT_CONNECT,            

            $socket_context        

        );  

    smtp.png

    /** 和*/ 以上部分注释掉,使用以下内容代替该部分

    $this->smtp_conn = fsockopen($host, $port, $errno, $errstr);

    smtp2.png


    注意:Wordpress4.3.1版本测试已经支持自动检测是否是指stream_socket_client函数,如果不支持会自动去使用fsockopen进行发信,因此4.3.1之后版本不需要在修改此文件,在Wordpress应用中心安装Easy WP SMTP Settings插件,配置好就可以直接发送邮件了。


    如问题还未解决,请联系售后技术支持


    2018-01-29 01:15:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载