2011-12-14 76 views
0

,当我在我的IndexController.php使用下面的代码我得到的错误所显示的代码如下:在IndexController.php同时发送电子邮件,发送功能不Zend框架的工作

<?php 

class IndexController extends Zend_Controller_Action 

{ 

public function init() 
{ 
    /* Initialize action controller here */ 
} 

public function indexAction() 
{ 

    $config = array 
    (
     'auth' => 'login', 
     'username' => '[email protected]', 
     'password' => 'mypass', 
     'ssl' => 'ssl', 
     'port' => 465, 
    ); 


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

    $mail = new Zend_Mail(); 
    $mail->addTo('[email protected]', 'me') 
     ->setFrom('[email protected]', 'me') 
     ->setSubject('your trial at fitness first') 
     ->setBodyText('email body in plain text') 
     ->send($transport); 
} 

代码

}

错误页面上显示:

An error occurred 

Application error 

我从来不è dited刚安装的Zend任何其他文件,并创建了一个新项目,并作为教程说继续...

但我被困@上述错误

+0

该死的那个“错误”。它不会有任何帮助。 – Mob 2011-12-14 19:42:35

回答

1

这是相当复杂的解释,但我试试。

当ZF发生错误时,通常会抛出异常。这会踢你的ErrorController。

在这种ErrorController你只有当你在application/configs/application.ini指定

phpSettings.display_errors = 1 

得到堆栈跟踪和错误消息您目前使用的APPLICATION_ENV

看看:http://framework.zend.com/manual/en/zend.application.quick-start.html那里它被描述它如何作品。 一个简单的方法来设置你的APPLICATION_ENV在你.htaccess文件

SetEnv APPLICATION_ENV development 

它在所有的链接描述把这个。 然后编辑您的application/configs/application.ini,如:

[development] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
0

如果您正在使用Gmail,尝试将配置更改为:

$config = array 
    (
     'auth' => 'login', 
     'username' => '[email protected]', 
     'password' => 'mypass', 
     'ssl' => 'tls', 
     'port' => 587, 
    ); 

如果一切正常,你的以前版本的问题应该是,OpenSSL是不在你的php.ini文件中启用