阿里云虚拟主机的WordPress程序发信失败完事解决办法适用WP 6.3.1

问题:

wordpress迁移到阿里云虚拟主机(不是 ECS)后SMTP无法发送邮件,在后台设置WPForms 的WP MAIL SMTP的时候一直提示发送测试邮件时出现问题

网上找了好多方法都没解决最后经过研究解决总结出来与大家分享。

解决办法:

  1. 25号端口不可用,不要使用25号端口请使用SSL的端口,具体看邮件服务器的端口是多少。
  2. 主机是阿里云的虚拟主机,WordPress建的网站。
  3. 虚拟主机后台开启了“PHP函数fsockopen设置”。
  4. 但是还是不行。 修改配置文件
    在wp-includes/PHPMailer下的SMTP.php  搜索查找  $connection = stream_socket_client(    约390行位置左右把如下代码:
            $socket_context = stream_context_create($options);
            set_error_handler([$this, 'errorHandler']);
            $connection = stream_socket_client(
                $host . ':' . $port,
                $errno,
                $errstr,
                $timeout,
                STREAM_CLIENT_CONNECT,
                $socket_context
            );

改为新的代码如下:

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

保存文件重新测试,可以正常发送邮件。

阅读剩余
THE END