Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP无法使用TLS连接到SMTP_Php_Ssl_Smtp - Fatal编程技术网

PHP无法使用TLS连接到SMTP

PHP无法使用TLS连接到SMTP,php,ssl,smtp,Php,Ssl,Smtp,在PHP中,我在发送电子邮件时遇到以下错误: “fsockopen()[function.fsockopen]:无法连接到tls://smtp.gmail.com:465 (连接超时)” 有人能帮我通过.htaccess文件或dl()以外的任何其他方式动态加载openssl.ddl扩展名吗 我正在使用Yii,我的main.php就是这样: 'mail' => array( 'class' => 'application.extensions.yii-mail.

在PHP中,我在发送电子邮件时遇到以下错误:

“fsockopen()[function.fsockopen]:无法连接到tls://smtp.gmail.com:465 (连接超时)”

有人能帮我通过.htaccess文件或dl()以外的任何其他方式动态加载openssl.ddl扩展名吗

我正在使用Yii,我的main.php就是这样:

'mail' => array(
            'class' => 'application.extensions.yii-mail.YiiMail',
            'transportType'=>'smtp', /// case sensitive!
            'transportOptions'=>array(
                //'host'=>$smtp_host,
                'host'=>'smtp.gmail.com',
                //'username'=>$smtp_username,
            'username'=>'mailtest.test10@gmail.com',
                //'password'=>$smtp_password,
                'password'=>'testtest10',
            //'port'=>'543',
            'port'=>'465',
            'encryption'=>'tls',
            //'encryption'=>'ssl',
                ),
            'viewPath' => 'application.views.mail',
            'logging' => true,
            'dryRun' => false
        ),  

有人能告诉我哪里错了吗……

我解决了我的问题。实际上,此配置在本地主机中运行,但在服务器中出现错误。必须更改设置才能在服务器中工作。将主机值更改为localhost,并将用户名和密码更改为与服务器设置中的相同。它现在正在工作。

连接超时
不是您在未加载openssl模块时会遇到的错误,这可能类似于
找不到套接字传输“tls”-配置PHP时是否忘记启用它?
我猜您有防火墙阻止您。从运行PHP脚本的同一服务器上,您能否尝试在端口465上打开到smtp.gmail.com的telnet连接?这将告诉您是否有东西阻止了与服务器的连接。