Php 无法使用gmail SMTP在Zend中发送电子邮件。获取致命错误:未捕获异常';Zend邮件协议异常;。如何解决这个问题?

Php 无法使用gmail SMTP在Zend中发送电子邮件。获取致命错误:未捕获异常';Zend邮件协议异常;。如何解决这个问题?,php,zend-framework,zend-mail,Php,Zend Framework,Zend Mail,我正在尝试使用Gmail SMTP发送电子邮件。下面是我的代码 $mail = new Zend_Mail(); $config = array( 'ssl' => 'ssl', 'port' => '465', 'auth' => 'login', 'username' => 'username@gmail.com', 'pa

我正在尝试使用Gmail SMTP发送电子邮件。下面是我的代码

$mail = new Zend_Mail();
$config = array(
            'ssl'      => 'ssl',
            'port'     => '465',
            'auth'     => 'login',
            'username' => 'username@gmail.com',
            'password' => 'mypassword'
        );

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$sendNow   = $mail->setBodyHtml($message)
                  ->setFrom('username@gmail.com', 'abc def')
                  ->addTo($recipient)
                  ->setSubject($subject)
                  ->send($transport);
但是出现了以下错误。如何才能做到这一点


致命错误:在Implementation\trunk\webapp\library\Zend\Mail\Protocol\Abstract.PHP:277

中,未捕获异常“Zend\u Mail\u Protocol\u exception”,消息“找不到套接字传输“ssl”-配置PHP时是否忘记启用它?”。以下是我使用的:

$config = array(
            'host' => 'smtp.gmail.com',
            'port' => 587,
            'ssl' => 'tls',
            'auth' => 'login',
            'username' => '*****',
            'password' => '*****',
        );

请注意“ssl”和“端口”的区别。

这是我的zend mail代码

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

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

    $mail = new Zend_Mail();
    $mail->setBodyHtml($bodytext);
    $mail->setFrom('your@gmail.com');
    $mail->addTo($email, $username);
    $mail->setSubject('Profile Activation');
    $mail->send($transport);

现在它工作正常了…

是否启用了ssl扩展?