【问题标题】:PHP cannot connect to SMTP using TLSPHP 无法使用 TLS 连接到 SMTP
【发布时间】:2013-07-23 15:06:51
【问题描述】:

在 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
        ),  

谁能告诉我我哪里错了......

【问题讨论】:

  • Connection timed out 不是您在未加载 openssl 模块时遇到的错误,它会类似于 Unable to find the socket transport "tls" - did you forget to enable it when you configured PHP? 我猜您有防火墙阻止您。
  • 从运行 PHP 脚本的同一台服务器上,您可以尝试在端口 465 上打开到 smtp.gmail.com 的 telnet 连接吗?这应该告诉您是否有什么东西阻止了您的服务器的此连接。

标签: php ssl smtp


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-24
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    相关资源
    最近更新 更多