【问题标题】:Unable to find the socket transport "ssl" in Zend framework 1.12在 Zend 框架 1.12 中找不到套接字传输“ssl”
【发布时间】:2013-12-10 16:27:09
【问题描述】:

我尝试从我的系统发送电子邮件,但收到此错误消息。

Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?

我已经看到其他类似的帖子,但无法解决我的问题。我试图将我的代码从“ssl”更改为“tls”,但出现另一个错误。因为我将我的项目上传到大学服务器,所以我无法对服务器配置做任何事情。这是我到目前为止的代码:

$config = array('ssl' => 'ssl',
            'auth' => 'login',
            'username' => 'somename@gmail.com',
            'password' => 'password');

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);

$email = 'somename1@gmail.com';
$username = 'John';
$mail = new Zend_Mail();
$mail->setBodyHtml("sdsd");
$mail->setFrom('somename@gmail.com');
$mail->addTo($email, $username);
$mail->setSubject('Profile Activation');
$mail->send($transport);

【问题讨论】:

    标签: php zend-framework ssl sendmail


    【解决方案1】:

    建议 openSSL 在您的 php 中未启用..

    Open php.ini
    uncomment the following:
    extension=php_openssl.dll
    

    然后重启服务器..

    希望对你有帮助,你也可以使用http://www.php.net/manual/en/openssl.installation.php

    【讨论】:

    • 我无法配置 php.ini,因为服务器只能由网站管理员访问。我的意思是,大学工作人员。
    • 那么您可以要求他们这样做,这样做没有害处..!
    【解决方案2】:

    OpenSSL 支持未在您的 Web 服务器上启用。您可以使用phpinfo() 查看您的 PHP 安装支持哪些扩展。如果 OpenSSL 不是其中之一,那么您在使用 SSL 或 TLS 时就不走运了。

    【讨论】:

    • 是否在“Registered Stream Socket Transports”行中,如果是,您的权利。因为只说明了 tcp 和 udp。有没有其他方式发送邮件???
    • 不,它有自己的名为 openssl 的标题。如果找不到,则表示未启用。
    • 这里..“OpenSSL 支持:禁用(安装 ext/openssl)”。这是我发现的。
    • 如果它被禁用,您将无法使用 GMail 的 SMTP 服务器所依赖的 SSL 或 TLS。您必须找到另一个不使用安全加密的 SMTP 服务器,或者与您的大学教职员工交谈以启用 openssl。
    • 对其他 SMTP 服务器有什么建议吗??
    猜你喜欢
    • 2020-02-11
    • 2014-03-04
    • 2013-05-14
    • 2017-11-16
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2013-12-26
    • 2017-11-09
    相关资源
    最近更新 更多