PHPMailer SMTP连接超时

时间:2016-10-19 19:50:41

标签: wordpress smtp phpmailer

我最近将Wordpress网站从一台服务器移动到另一台服务器,我无法再通过SMTP发送邮件。

显然存在一些网络/解析器/凭证问题,我正在尝试调试它,但我遇到了一些非常不寻常的行为。

我正在查看connect类的SMTP方法。如果我只是尝试代码,那么行

$this->smtp_conn = @stream_socket_client(
            $host . ":" . $port,
            $errno,
            $errstr,
            $timeout,
            STREAM_CLIENT_CONNECT,
            $socket_context
        );

导致超时。但是,如果我添加自己的成员变量protected $myvariable;并更改上面的代码以将流套接字分配给$myvariable而不是smtp_conn,则没有时间。 如果我在尝试打开连接之前使用var_dump上的$this->smtp_conn检查未更改的代码,则为NULL。

我在PHPMailer中看不到会影响成员变量$smtp_conn的任何其他代码,我看不出如何更改变量名称可以停止超时。

任何人都可以帮助我进一步调试。

=================编辑=====================

我发现将$this->smtp_conn分配给stream_socket_client的结果会导致get_lines方法直接执行。也就是说,如果我在exit分配后直接发出$this->smtp_conn = stream_socket_client命令,get_lines中的代码仍会运行。

0 个答案:

没有答案