Php 使用gmail SMTP的Zend邮件

Php 使用gmail SMTP的Zend邮件,php,zend-framework,zend-mail,Php,Zend Framework,Zend Mail,这上面有1000个帖子,但不知怎么的,我无法让事情正常进行。我用 $config = array('ssl' => 'tls', 'auth' => 'login', 'port' => 587, 'username' => 'myusername@gmail.com', 'password' => 'mypassword'); $tr = ne

这上面有1000个帖子,但不知怎么的,我无法让事情正常进行。我用

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

$tr = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
找一个

Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message 'Unable to connect via TLS'
使用

我越来越

Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message 'Could not open socket'

顺便说一句,我使用的是XAMPP1.7.7。有任何帮助吗?

在php.ini文件中找到以下内容

;extension=php_openssl.dll //remove the semicolon in front, save and restart apache, then passed. ;extension=php\u openssl.dll //删除前面的分号,保存并重新启动apache,然后传递。
希望它对您有用

在php.ini文件中找到以下内容

;extension=php_openssl.dll //remove the semicolon in front, save and restart apache, then passed. ;extension=php\u openssl.dll //删除前面的分号,保存并重新启动apache,然后传递。
希望它对你有用

我很确定Gmail不允许SSL/TLS。如果你删除了这一行,我相信上面的配置应该可以工作,假设用户名和密码正确。

我很确定Gmail不允许SSL/TLS。如果您删除该行,我相信上面的配置应该可以工作,假设用户名和密码正确。

尝试使用此配置数组(它适合我):


尝试使用此配置数组(它适合我):


不,我看到了一篇关于这方面的文章,但在我的php.ini中没有找到那一行,谷歌搜索并找到了-OpenSSL在XAMPP1.7.2的PHP5.3中编译并启用,因此不再需要单独的扩展dll。不,我看到了一篇关于这方面的文章,但在我的php.ini中没有找到那一行,googled and found-OpenSSL是在XAMPP 1.7.2的PHP5.3中编译和启用的,因此不再需要单独的扩展dll。我不确定这个答案中的语句是否绝对正确。对我来说,“ssl”=>“tls”是通过gmail发送邮件所必需的,否则我会遇到以下异常:“Zend_Mail_Protocol_exception”和消息“5.7.0”必须首先发出STARTTLS命令。我同意@DimitrisBaltas的观点,google肯定需要ssl连接。这真的很奇怪。不确定,它确实有效,但谷歌要求ssl连接。我不确定这个答案中的陈述是否绝对正确。对我来说,“ssl”=>“tls”是通过gmail发送邮件所必需的,否则我会遇到以下异常:“Zend_Mail_Protocol_exception”和消息“5.7.0”必须首先发出STARTTLS命令。我同意@DimitrisBaltas的观点,google肯定需要ssl连接。这真的很奇怪。不确定,它确实有效,但谷歌要求ssl连接。
$config = array(
   'ssl' => 'tls',
   'auth' => 'login',
   'port' => 25,
   'username' => 'myusername@gmail.com',
   'password' => 'mypassword');